Edd*_*223 37 c++ gnu mingw g++ c-preprocessor
我想做的事情如下:
#ifdef GCC
#define GetFunctionName() string("My function name is ") + __PRETTY_FUNCTION__;
#endif
Run Code Online (Sandbox Code Playgroud)
由于我想使用漂亮的PRETTY_FUNCTION,据我所知只有gnu支持所以我需要检测我是否正在编译g ++和MinGW,我该怎么做?我猜我需要知道的是编译器的预处理器定义,就像我在下面为Microsoft做的那样.
#ifdef WIN32
#define LogFuncBegin() gLogger.FuncBegin( __FUNCTION__ );
#define LogFuncEndSuccess() gLogger.FuncEndSuccess( __FUNCTION__ );
#endif
Run Code Online (Sandbox Code Playgroud)
如何在C++预处理器中检测g ++和MinGW?
Flo*_*man 47
你可以利用:
#ifdef __GNUC__
#ifdef __MINGW32__
Run Code Online (Sandbox Code Playgroud)
对于其他宏,您可能会对显示其他编译器宏的页面感兴趣
sed*_*idw 29
对于GCC:
#ifdef __GNUC__
Run Code Online (Sandbox Code Playgroud)
对于MinGW:
#ifdef __MINGW32__
Run Code Online (Sandbox Code Playgroud)
x86_64-w64-mingw32-gcc定义了__MINGW32__
和__MINGW64__
.
归档时间: |
|
查看次数: |
24322 次 |
最近记录: |