[英]How can I detect g++ and MinGW in C++ preprocessor?
我想做的事情如下:
#ifdef GCC
#define GetFunctionName() string("My function name is ") + __PRETTY_FUNCTION__;
#endif
由于我想使用漂亮的PRETTY_FUNCTION ,据我所知只有gnu支持所以我需要检测我是否正在编译g ++和MinGW,我该怎么做? 我猜我需要知道的是编译器的预处理器定义,就像我在下面为Microsoft做的那样。
#ifdef WIN32
#define LogFuncBegin() gLogger.FuncBegin( __FUNCTION__ );
#define LogFuncEndSuccess() gLogger.FuncEndSuccess( __FUNCTION__ );
#endif
如何在C ++预处理器中检测g ++和MinGW?
对于GCC:
#ifdef __GNUC__
对于MinGW:
#ifdef __MINGW32__
x86_64-w64-mingw32-gcc定义了__MINGW32__
和__MINGW64__
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.