有没有一种方法可以在输出二进制文件中存储clang编译时标志
Is there a way to store clang compile-time flags in the output binary?
使用clang时,有没有办法将编译时标志存储在输出二进制文件中?
例如运行后:
clang -O3 -c main.c
生成的main.o
文件应该在某个位置包含-O3
。
gcc有-frecord-gcc-switches
,但我找不到clang的等价物。
因为ecatmur已经在注释中暗示了。bug中记录的当前不支持此功能https://llvm.org/bugs/show_bug.cgi?id=16291。
然而,在该功能不可用的情况下,我建议您的构建过程使用clang的-D
参数在程序中定义一个宏。例如,假设您从bash脚本中调用它(根据您使用的任何构建工具进行调整):
CLANG_ARGS='-O3 -c main.c'
clang $CLANG_ARGS -D CLANG_ARGS=""${CLANG_ARGS}""
然后在你的C或C++程序中,你添加了一些类似的东西
const char clangArgs[] = CLANG_ARGS;
然后,当使用-V
或--version
开关调用时,您可以使用调试器或类似的工具检索,甚至可以添加一些代码从程序中打印它。
相关文章:
- 读取二进制文件时如何输出?
- C++实现代码中的字符串不应存在于输出二进制文件中.如何解决
- 在C 中输出到二进制文件中的麻烦
- 如何获取与 objdump 输出的标签相对应的 ELF 二进制文件中的文件偏移量
- 如何在 c++ 中使用二进制文件输入/输出读取/写入结构的字符串类型成员
- 将对象(指针)在地图中输出到二进制文件
- 如何将std::映射输出到二进制文件
- 读取并输出二进制文件(C++)中位置的字节
- 在线C++编译器:为我输出二进制文件
- 正在读取C++中的二进制文件,并将结果输出为hexdump
- 如何在 C++ 中使用更改光标输入和输出二进制文件
- C ++如何以二进制格式输出Ply文件
- 如何将整数和双精度输出到二进制文件
- 二进制文件中结构的输出返回垃圾
- 用C++将二进制字符串输出到二进制文件
- 自动使输出二进制文件大于命令行编译的二进制文件
- 字节输出到二进制文件c++
- 输出一个写在二进制文件c++中的double
- 从turbo c++中的二进制文件读取后出现意外输出
- 有没有一种正统的方法可以避免编译器警告 C4309 - 带有二进制文件输出的"truncation of constant value"?