我正在尝试检测用于编译源代码的编译器.我可以很容易地找到预定义的宏来检查MSVC或GCC(例如参见http://predef.sourceforge.net/),但我找不到任何宏来检查clang.
有人知道clang是否定义了一个宏__CLANG__,以便知道当前正在编译我的代码的是什么?
我用于#ifdef Win32安全通话,sprintf_s但现在我想用MinGW建立项目,现在它错了.我需要使用#ifdef VC++或以某种方式.可能吗?
我使用clang,, gcc和tcc,我希望能够区分共同标题中的三个.
从他们的宏观转储来看,我预计宏的存在
__clang__将唯一地识别铿锵声.
我无法获得宏转储tcc($compiler -x c -E -dM /dev/null在其情况下不起作用).
什么是唯一标识gcc(可能还有tcc)的宏(如果有的话)?