Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
通过运行,strings我注意到我的g++ 4.7.3编译器生成的目标代码(没有打开调试标志)包含源代码单元中使用的所有头文件的绝对路径。对目标代码执行 astrip -s不会删除这些字符串。为什么它们首先包含在目标代码中?其次,如何从目标代码中删除它们?
strings
g++ 4.7.3
strip -s
文件名和路径通常来自命令行,因此如果使用绝对路径编译文件,它将显示在二进制文件中。您需要修改编译源文件的方式,可能会更改构建系统。改变:
g++ -I/home/frey/mylib/include /home/frey/foo.cpp -o foo
至
cd /home/frey g++ -Imylib/include foo.cpp -o foo