GCC - 包含编译标志的宏



GCC 中是否有任何宏包含用于编译程序的编译标志?

我想要这样的东西:

printf("Compilation flags: %s", __FLAGS__);

例如,要输出:

Compilation flags: -02 -g

简短回答:不。

稍长的答案:即使有,你的代码也会变得不可移植。需要这种功能的项目可以让构建系统来做到这一点,例如,将所有标志放在makeCFLAGS变量中,并让规则创建一个config.h将所有这些标志放在一个#define中。

这可能没有多大帮助,但 GCC 有选项 -fverbose-asm (https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html(,它将转储生成的程序集中使用的命令行选项作为注释。

当然,这仅在您打算读取生成的程序集而不是直接组装它时才有用。

最新更新