gpt4 book ai didi

c - 如何通过#define 指令检测 LLVM 及其版本?

转载 作者:太空狗 更新时间:2023-10-29 16:16:52 29 4
gpt4 key购买 nike

我认为这个问题很清楚。我正在尝试编写一个编译器检测 header ,以便能够在应用程序中包含有关使用了哪个编译器和哪个版本的信息。

这是我使用的部分代码:

/* GNU C Compiler Detection */
#elif defined __GNUC__
#ifdef __MINGW32__
#define COMPILER "MinGW GCC %d.%d.%d"
#else
#define COMPILER "GCC %d.%d.%d"
#endif
#define COMP_VERSION __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__
#endif

可以这样使用:

printf("  Compiled using " COMPILER "\n", COMP_VERSION);

有什么方法可以检测 LLVM 及其版本吗?还有 CLANG?

最佳答案

__llvm____clang__ 宏分别是检查 LLVM 编译器(llvm-gcc 或 clang)或 clang 的官方方法。

__has_feature__has_builtin 是使用 clang 时检查可选编译器功能的推荐方法,它们记录在案 here .

请注意,您可以使用以下命令找到 gcc、llvm-gcc 和 clang 的内置编译器宏列表:

echo | clang -dM -E -

这会预处理一个空字符串并吐出编译器定义的所有宏。

关于c - 如何通过#define 指令检测 LLVM 及其版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1617877/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com