MSVC的_M_X64预定义宏澄清

时间:2009-08-28 21:26:18

标签: c++ c macros visual-c++

MSVC's Predefined Macros状态“_M_X64的文档[是]为x64处理器定义。”这究竟是什么意思?是否定义:

  • 当我为 x64处理器构建时,或
  • 当我使用 x64处理器构建时?

具体来说,我正在寻找前一种情况的编译器开关,而不是后者。 _M_X64会满足于此目的吗?

2 个答案:

答案 0 :(得分:9)

这意味着_M_X64是目标处理器。这是你正在建设的,而不是你正在建设的。

答案 1 :(得分:1)

这意味着您可以输入这样的代码。

#ifdef _M_X64
#pragma comment(lib, "TEST64BIT.LIB")
#else
#pragma comment(lib, "TEST32BIT.LIB")
#endif