C++ 有没有办法在输出二进制文件中存储铿锵编译时标志?

C++ 有没有办法在输出二进制文件中存储铿锵编译时标志?,c++,c,gcc,clang,C++,C,Gcc,Clang,使用clang时,有没有办法将编译时标志存储在输出二进制文件中 例如,运行后: clang-O3-c main.c 生成的main.o文件应该包含-O3 但我找不到与“叮当”对应的 正如ecatmur在评论中已经暗示的那样。如bug中所述,目前不支持此功能 但是,作为一种解决方法,当该功能不可用时,我建议让您的构建过程使用clang的-D参数在程序内部定义一个宏。例如,假设您正在从bash脚本调用它(根据您使用的任何构建工具进行调整): P>在C或C++程序中,你添加一些东西: const c

使用clang时,有没有办法将编译时标志存储在输出二进制文件中

例如,运行后:

clang-O3-c main.c

生成的
main.o
文件应该包含
-O3


但我找不到与“叮当”对应的

正如ecatmur在评论中已经暗示的那样。如bug中所述,目前不支持此功能

但是,作为一种解决方法,当该功能不可用时,我建议让您的构建过程使用clang的
-D
参数在程序内部定义一个宏。例如,假设您正在从bash脚本调用它(根据您使用的任何构建工具进行调整):

<> P>在C或C++程序中,你添加一些东西:

const char clangArgs[] = CLANG_ARGS;
然后,您可以使用调试器或类似工具检索,甚至可以添加一些代码,以便在使用
-V
--version
开关调用时从程序中打印它。

注意:叮当声功能请求:
const char clangArgs[] = CLANG_ARGS;