如何获得GCC链接器命令?

27 command-line gcc ld

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

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

Vil*_*ari 41

gcc -v看什么命令运行.如,

gcc -v -o hello hello.c
Run Code Online (Sandbox Code Playgroud)

这将打印大量输出,包括链接器命令.实际输出取决于平台,但链接命令应该接近结束.或者,使用

gcc -### -o hello hello.c
Run Code Online (Sandbox Code Playgroud)

这就像-v,但实际上并没有运行任何命令并引用选项.

另一种选择是

gcc -dumpspecs
Run Code Online (Sandbox Code Playgroud)

寻找条目link.

上面的命令行标志gcc --help在手册页中列出并解释.这是spec文件GCC文档.

  • 不幸的是,从 GCC 7.3 开始,这进一步隐藏了 `collect2` 后面的最终链接器(例如 `/usr/bin/ld`):/sf/ask/880897041/ -退出状态 (3认同)
  • 或者使用gcc - ###,它与-v类似,但实际上并不执行任何引用所有args的引号 (2认同)