我正在为x86和x64平台构建我的解决方案。 Visual Studio是否有任何目标平台变量,因此我找到了我在编译时构建的平台?
例如:
HINSTANCE hinstLib;
#ifdef TARGET_X86
hinstLib = LoadLibrary("32lib.dll");
#endif
#ifdef TARGET_X64
hinstLib = LoadLibrary("64lib.dll");
#endif
答案 0 :(得分:2)
这就是我使用的:
#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位。
答案 1 :(得分:0)
看看这里: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