如何获取 GCC 链接器命令?

Posted

技术标签:

【中文标题】如何获取 GCC 链接器命令?【英文标题】:How to get GCC linker command? 【发布时间】:2010-11-13 08:05:34 【问题描述】:

如何获取 GCC 用来调用 ld 的命令行?

我有一个 AVR 目标的问题,其中 GCC 显然添加了一个我试图覆盖的链接器选项,所以我想看看 GCC 用于 ld 的确切选项。

【问题讨论】:

【参考方案1】:

使用gcc -v 查看它运行的命令。如,

gcc -v -o hello hello.c

这将打印很多输出,包括链接器命令。实际输出取决于平台,但链接命令应该接近尾声。或者,使用

gcc -### -o hello hello.c

这类似于-v,但实际上并不运行任何命令并引用选项。

另一种选择是

gcc -dumpspecs

查找link 的条目。

上述命令行标志列在gcc --help 中,并在手册页上进行了说明。这里是GCC documentation for the spec files。

【讨论】:

或者使用 gcc -### 类似于 -v 但实际上并不执行任何东西 ant quote all args 不幸的是,从 GCC 7.3 开始,这进一步将最终链接器(例如 /usr/bin/ld)隐藏在 collect2 后面:***.com/questions/12584243/…

以上是关于如何获取 GCC 链接器命令?的主要内容,如果未能解决你的问题,请参考以下文章

gcc 链接器如何获取函数的大小?

gcc/cygwin如何获取DNS服务器?

使用 gcc 链接 Apple 框架

AVR - GNU 链接器脚本 - 如何获取 .data 部分的加载地址

GCC 和 NASM 链接到外部库

编译汇编链接加载