gpt4 book ai didi

visual-studio-2008 - 在 Visual Studio 2008 中,是否有识别 64 位 Windows 操作系统的宏?

转载 作者:行者123 更新时间:2023-12-03 15:07:43 30 4
gpt4 key购买 nike

问题是:

为了为我的 32 位程序#import 正确版本的 ADO,我需要知道我是在 32 位 Windows 操作系统(意味着文件在 Program Files 中)还是 64 位操作系统上编译操作系统(意味着该文件位于 Program Files (x86) 中)。但我找不到告诉我这一点的宏,甚至找不到告诉我处理器是 64 位的宏。

当我在运行 Visual Studio 2008 Express 的 64 位 Windows 7 上对其进行测试时,定义了以下相关宏:

_M_IX86
X86

但似乎没有一个 *64 宏被定义,我想如果它们指的是/target/架构而不是当前机器的架构,情况就会如此。

是否有预处理器宏可以告诉我我运行的是否是 64 位 Windows 操作系统?

如果是,那是什么?我什至愿意接受一个能告诉我是否使用 64 位处理器的软件。

(附:我已经知道 this list )

更新

到目前为止,人们似乎认为没有这样的宏,复制 DLL 或使用环境变量是更好的做法。

因此,根据环境变量的提示,我通过将 Program Files (x86) 和 Program Files 这两个文件夹放在包含路径上并使用尖括号语法 #import 来为开发人员解决了这个问题。但是,我怀疑我需要为操作系统的每个版本构建发布版本,因为 ADO DLL 现在是操作系统的一部分并且不可再分发。对此进行调查。

最佳答案

检查这个:_WIN64

此处描述:

http://msdn.microsoft.com/en-us/magazine/cc300794.aspx

我用过它,效果很好。

你的情况更复杂,因为你想知道操作系统而不是编译类型。我一直使用 Windows x64,但我编译 32 位和 64 位应用程序。 _WIN64 仅在我编译 64 位应用程序时定义,而不是在我编译 32 位应用程序时定义,即使我始终在 Windows x64 计算机上也是如此。

我认为您应该以不同的方式设置包含目录以隐藏这种复杂性。假设 include 目录在不同的机器上会有很大差异是很好的,因此从长远来看,使路径检测完全自动化可能对您自己的利益来说太聪明了。

关于visual-studio-2008 - 在 Visual Studio 2008 中,是否有识别 64 位 Windows 操作系统的宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4597595/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com