gcc (x86-64) 直至版本 10.x 生成了一个“选项已启用”列表-v
或作为评论.s
汇编文件与-fverbose-asm
,参见例如使用 gcc -Q -v “启用选项”和“通过选项”之间有什么区别 https://stackoverflow.com/q/38244309/3852630。在 gcc 版本 11.x 中,此列表已消失。
为什么?有没有办法用一些编译器标志来恢复这个列表?
Use -Q
与其中之一一起--help= options https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#Overall-Options:
optimizers
显示编译器支持的所有优化选项。
warnings
显示控制编译器生成的警告消息的所有选项。
target
显示特定于目标的选项。然而,与 --target-help 选项不同的是,链接器和汇编器的目标特定选项不是
显示。这是因为这些工具目前不支持
扩展 --help= 语法。
params
显示 --param 选项识别的值。
language
显示语言支持的选项,其中语言是此版本的 GCC 支持的语言之一的名称。如果
所有语言都支持该选项,需要选择“通用”
班级。
common
显示所有语言通用的选项。
例如,gcc -Q --help=optimizers
显示输出如下:
...
-fauto-inc-dec [enabled]
-fbit-tests [enabled]
-fbranch-count-reg [disabled]
-fbranch-probabilities [disabled]
-fcaller-saves [disabled]
-fcode-hoisting [disabled]
-fcombine-stack-adjustments [disabled]
...
如果你跑gcc -O2 -Q --help=optimizers
相反,您会看到其中许多更改为[enabled]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)