Questions: Difference between revisions
No edit summary |
running sudo over forwarded X |
||
| Line 9: | Line 9: | ||
*Q: How do I get the start address of an [[ELF]] binary? | *Q: How do I get the start address of an [[ELF]] binary? | ||
*A: <tt>readelf -h binary | grep "Entry point address:"</tt> | *A: <tt>readelf -h binary | grep "Entry point address:"</tt> | ||
*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) | |||
==[[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. | ||