【问题标题】:Find C++ platform target at compile time in visual studio在 Visual Studio 编译时查找 C++ 平台目标
【发布时间】:2014-04-11 08:52:27
【问题描述】:

我正在为 x86 和 x64 平台构建我的解决方案。 Visual Studio 是否有任何目标平台变量,以便我在编译时找到我正在构建的平台?

例如:

HINSTANCE hinstLib; 
#ifdef TARGET_X86
hinstLib = LoadLibrary("32lib.dll"); 
#endif

#ifdef TARGET_X64
hinstLib = LoadLibrary("64lib.dll"); 
#endif

【问题讨论】:

    标签: c++ visual-studio-2010 dll target platform


    【解决方案1】:

    这是我用的:

    #if defined(_MSC_VER)
         // Microsoft VC compiler
    #    if defined(_WIN32)
    #        if defined(_WIN64)
                 // 64 bit windows
    #        else
                 // 32 bit windows
    #        endif
    #    endif
    #endif
    

    请注意,_WIN32 也是为 64 位定义的。

    【讨论】:

      【解决方案2】:

      看看这里:http://msdn.microsoft.com/en-US/library/b0084kay.aspx

      _WIN64_M_X64 应该可以工作。

      所以对于你的例子:

      HINSTANCE hinstLib; 
      #ifdef _WIN64
          hinstLib = LoadLibrary("64lib.dll"); 
      #else
          hinstLib = LoadLibrary("32lib.dll"); 
      #endif
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-06
        • 2015-12-10
        • 1970-01-01
        • 2010-10-06
        • 2010-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多