我想要做的事,如:如何在C++預處理器中檢測g ++和MinGW?
#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?
您的測試案例是否包含MinGW-64? – jww
@jww不,但MinGW-64也將定義32宏,所以這也適用於此。 –
該編譯器宏列表的更新版本位於sourceforge中的[Pre-defined Compiler Macros項目](https://sourceforge.net/p/predef/wiki/Home/) – rakslice