gcc编译器怎样才能将main中没有调用的函数和全局变量不链接到最后的可执行文件中?

发布于 2022-10-15 08:05:32 字数 202 浏览 22 评论 0

本帖最后由 teclimber 于 2011-05-04 08:29 编辑

我在一个文件中定义了很多函数和全局变量,但是在main中我又没有全部使用,所以我不想在链接的时候把那些没有调用的函数和全局变量也链接进来。我该怎么办?应该怎样指定连接器???
希望高手指点

注:使用的编译器是gcc

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

被你宠の有点坏 2022-10-22 08:05:32

不是高手,strip 看看行不行 ?{:3_192:}

書生途 2022-10-22 08:05:32

回复 2# 新右卫门

    能说的详细一点吗?

药祭#氼 2022-10-22 08:05:32

不能,至少Gcc不支持,这个问题很久以前研究过。如果只是减小代码的size,去掉一些不必须的数据段,那么使用strip是一个好方法。

对你再特殊 2022-10-22 08:05:32

回复 4# lli_njupt

    能不能详细讲解一下那个strip的使用?以前没有用过

↙厌世 2022-10-22 08:05:32

man strip
通常直接使用strip app即可。你直接打开二进制vim app,然后找一下函数名,发现它已经不在了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文