【发布时间】:2017-07-17 21:19:57
【问题描述】:
我在 Microsoft Visual Studio 上构建了 32 位应用程序,现在我必须在 64 位操作系统上运行此应用程序,并且我的要求是基于操作系统(32 位或 64 位)我需要加载一个 dll ,我只是在 Visual Studio 中寻找一个宏,它告诉我我正在运行我的应用程序的当前操作系统位数(32 位或 64 位)。
我在 MSVS 中找到了 _WIN32 和 _WIN64 宏,但在 VS2008 和 VS2010 中似乎有一个 bug,它们没有在其中定义 _WIN64。
Visual Studio () 中是否有一种方法可以确定我是在 64 位操作系统还是 32 位操作系统(不是 32 位应用程序或 64 位应用程序)上运行我的应用程序,更具体地说,我正在寻找一个宏而不是 IsWow64Process() 之类的函数??
【问题讨论】:
-
请注意,您的 32 位应用程序无法加载 64 位 DLL。操作系统无关紧要。
-
该错误是 IDE 错误,而不是编译器错误。编译时,宏存在。但是,缺少
_WIN64并不会阻止用户在 64 位 Windows 上运行该程序。这就是IsWow64Process()的用武之地。 -
@MSalters 我没有说我正在加载 64 位 DLL,我只想加载不同的 32 位 DLL。
-
@Durga:在安装程序中解决这个问题不是更容易吗?
标签: c++ windows visual-studio visual-studio-2008 windows-10