我有一个可移植的库,如果在Visual Studio下编译或只使用Microsoft的C / C ++编译器,在一个地方需要做X,否则需要Y.我应该寻找#define
什么?
答案 0 :(得分:6)
quick Google search导致predefined macros on MSDN,其中列出了MSVC预定义的所有宏。其中_MSC_VER
可能是最佳候选人。
答案 1 :(得分:4)
_MSC_VER
是您正在寻找的有关MSVC编译器及其版本的内容
#ifdef _MSC_VER
.. MSVC compiler
#endif
您还可以使用它来跨MSVC版本专门化您的代码
#if _MSC_VER > 1700
.. MSVC compiler is greater than 11 (2012)
#endif
可在此处找到另一个编译器宏列表:http://sourceforge.net/p/predef/wiki/OperatingSystems/