【问题标题】:Is there a method to make `gcc' dump/display all the flags in use while compiling code?有没有一种方法可以在编译代码时让“gcc”转储/显示所有正在使用的标志?
【发布时间】:2018-05-29 14:07:49
【问题描述】:

请注意,这与 Get the compiler options from a compiled executable? 我确实详细介绍过。

虽然-frecord-gcc-switches 很棒,但它只捕获命令行参数。

例如,我对捕获通常在命令行中传递的-O2 不感兴趣。我对记录 -fauto-inc-dec 等由 -O2 启用的所有标志更好奇。

(与上面的链接相比,请注意我可以访问源代码、编译器和构建基础设施。我只想在编译期间捕获标志。对任何特定的 gcc 版本不挑剔)

【问题讨论】:

  • 曾经是-frecord-options-in-elf
  • 谢谢@Severin。 '-frecord-options-in-elf' 不幸的是似乎不起作用(从 gcc v5.2.1 开始)。我确实看到了一些开发工作,但是我无法追踪它link
  • 是的,我记得一些讨论为什么它应该在/不应该在,在某些时候它在那里,然后它不是......你必须四处挖掘,我猜
  • 而且,坦率地说,只有从单个编译单元(又名 .o 文件)中获取选项才有可能/有用。没有人保证可执行文件中的文件是使用相同的选项编译的,对于我使用外部库、我们的库、系统库进行的所有项目,我很确定它们的编译方式都有些不同 - ABI 会处理其余的
  • 是的,我只对基于每个编译单元的标志感兴趣(当然,不同的 CU 之间会有很多差异,而不是寻找任何全局标志!)

标签: gcc arm


【解决方案1】:

你可以试试-fverbose-asm。这会转储程序集文件顶部注释中使用的优化选项。

【讨论】:

    猜你喜欢
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    相关资源
    最近更新 更多