LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: echo

使用GCC编译时,能不能不让编译好的程序包含调试信息?

[复制链接]
发表于 2009-3-31 20:47:18 | 显示全部楼层

编译、链接 优化 相关资源

http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
http://gcc.gnu.org/faq.html#optimizing

http://en.gentoo-wiki.com/wiki/Safe_LDFLAGS
http://www.gentoo.org/proj/en/qa/asneeded.xml

http://en.gentoo-wiki.com/wiki/CFLAGS
http://www.gentoo.org/doc/en/gcc-optimization.xml

另,请搜精华区编译优化相关帖子。
http://www.linuxsir.cn/bbs/thread282237.html


你的情况下面的比较合适
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
这样生成的库相当于经过 strip,二进制可执行文件亦无调试信息。
仅需 strip 二进制可执行文件,即可完成整个 strip 动作。
回复 支持 反对

使用道具 举报

发表于 2009-4-1 14:37:20 | 显示全部楼层
好东西啊,深空兄
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-1 16:57:34 | 显示全部楼层
Post by 聚焦深空;1968159
http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
http://gcc.gnu.org/faq.html#optimizing

http://en.gentoo-wiki.com/wiki/Safe_LDFLAGS
http://www.gentoo.org/proj/en/qa/asneeded.xml

http://en.gentoo-wiki.com/wiki/CFLAGS
http://www.gentoo.org/doc/en/gcc-optimization.xml

另,请搜精华区编译优化相关帖子。
http://www.linuxsir.cn/bbs/thread282237.html


你的情况下面的比较合适
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
这样生成的库相当于经过 strip,二进制可执行文件亦无调试信息。
仅需 strip 二进制可执行文件,即可完成整个 strip 动作。



LDFLAGS="-Wl,-s Wl,-O1 -Wl,--as-needed "

我可不可以这样设置
-Wl,-s 剥离输出文件中所有的符号信息
-Wl,--as-needed  移除不必要的符号引用
-Wl,-O1 当n>0时将会优化输出,这个位置是不是只能选择1或是0?

使用这个以上参数时是不是就将所有的库和二进制程序全都清除了符号信息,对于库,它会不会比做strip更精减?
回复 支持 反对

使用道具 举报

发表于 2009-4-1 19:50:22 | 显示全部楼层
实际动手做做,再回来报告,您就有答案了。
您懒,要知道还有比您更懒的。
对 "-s" 偶持谨慎怀疑态度。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表