我试图检测用于编译源代码的编译器.我可以很容易地找到预定义的宏来判断MSVC或GCC(例如,请参阅http://predef.sourceforge.net/),但我找不到任何宏来判断clang.
有人知道clang是否定义了一个像__CLANG__
这样的宏,以便知道当前是什么在编译我的代码吗?
我试图检测用于编译源代码的编译器.我可以很容易地找到预定义的宏来判断MSVC或GCC(例如,请参阅http://predef.sourceforge.net/),但我找不到任何宏来判断clang.
有人知道clang是否定义了一个像__CLANG__
这样的宏,以便知道当前是什么在编译我的代码吗?
使用strings
+grep
找到答案:
$ strings /usr/bin/clang | grep __ | grep -i clang
__clang__