【发布时间】: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 之间会有很多差异,而不是寻找任何全局标志!)