Questions: Difference between revisions
No edit summary |
No edit summary |
||
| Line 13: | Line 13: | ||
*Q: How can I run ''program'' as sudo over X? It says it "can't connect to X server at localhost"! | *Q: How can I run ''program'' as sudo over X? It says it "can't connect to X server at localhost"! | ||
*A: <tt>sudo -E ''program''</tt> (you need to preserve your DISPLAY variable. -E preserves environments) | *A: <tt>sudo -E ''program''</tt> (you need to preserve your DISPLAY variable. -E preserves environments) | ||
*Q: How can I merge one directory into another? | |||
*A: <tt>find srcdir -depth -print0 | cpio -pdm0 targdir</tt>. This uses <tt>cpio</tt>'s passthrough mode. | |||
==[[C]]== | ==[[C]]== | ||
*Q: Why aren't ''"target"''-style <tt>#includes</tt> a good idea with any sane compiler? | *Q: Why aren't ''"target"''-style <tt>#includes</tt> a good idea with any sane compiler? | ||
*A: So long as you can append to the default include search path (ie, the <tt>-I</tt> option to [[gcc]]), the ''<target>''-style include can search in your project directory. Building from the source toplevel, a simple <tt>-I.</tt> added to CFLAGS allows #include <toplevel/relative/filename>. Moved headers will trigger a preprocessing failure. If ''"target"''-style <tt>#includes</tt> are used, the directory of the source being compiled is typically searched prior to other include paths. This means moving source files or introducing new headers can change the files being included, which is almost always undesirable. | *A: So long as you can append to the default include search path (ie, the <tt>-I</tt> option to [[gcc]]), the ''<target>''-style include can search in your project directory. Building from the source toplevel, a simple <tt>-I.</tt> added to CFLAGS allows #include <toplevel/relative/filename>. Moved headers will trigger a preprocessing failure. If ''"target"''-style <tt>#includes</tt> are used, the directory of the source being compiled is typically searched prior to other include paths. This means moving source files or introducing new headers can change the files being included, which is almost always undesirable. | ||