gcc编译器怎样才能将main中没有调用的函数和全局变量不链接到最后的可执行文件中?
本帖最后由 teclimber 于 2011-05-04 08:29 编辑
我在一个文件中定义了很多函数和全局变量,但是在main中我又没有全部使用,所以我不想在链接的时候把那些没有调用的函数和全局变量也链接进来。我该怎么办?应该怎样指定连接器???
希望高手指点
注:使用的编译器是gcc
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
不是高手,strip 看看行不行 ?{:3_192:}
回复 2# 新右卫门
能说的详细一点吗?
不能,至少Gcc不支持,这个问题很久以前研究过。如果只是减小代码的size,去掉一些不必须的数据段,那么使用strip是一个好方法。
回复 4# lli_njupt
能不能详细讲解一下那个strip的使用?以前没有用过
man strip
通常直接使用strip app即可。你直接打开二进制vim app,然后找一下函数名,发现它已经不在了。