gpt4 book ai didi

visual-c++ - 确定处理器是 AMD64 还是 Intel64?

转载 作者:行者123 更新时间:2023-12-04 08:26:13 24 4
gpt4 key购买 nike

Visual Studio C++ 编译器 provides命令行编译器选项 /favor:AMD64/favor:INTEL64 分别针对 AMD64 或 Intel64 处理器进行优化。现在,术语 AMD64 和 Intel64 are essentially interchangeable大多数用途,但有are some differences编译器可以优化。

在 Microsoft Windows 7 上,是否有可靠的方法在应用程序安装时检查我们是在 AMD64 还是 INTEL64 系统上安装?

我正在使用 InnoSetup 和 WiX 进行安装程序,我正在猜测要选择基于 AMD64 或 INTEL64 CPU 安装的版本。


编辑:回顾的一些笔记

最后,来自 RRUZ 的答案和 Andrew Cooper两者都为解决这个问题提供了很好的可靠策略,但由于它们都不是真正可靠的 future 证明,我个人将坚持为我的项目使用默认的 /favor:blend

最佳答案

您可以使用 Win32_Processor WMi 类,通过 Inno 设置,您可以毫无问题地执行 WMI 查询。检查此示例:

var
FSWbemLocator : Variant;
FWMIService : Variant;
FWbemObject : Variant;
begin
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObject := FWMIService.Get('Win32_Processor');
if FWbemObject.Architecture=9 then //is a 64 bits processor
if FWbemObject.Family=131 then //all 64-bit AMD processors are identified by using a Family attribute value of 0x83 (131).

您可以在此处使用架构、系列、制造商和其他属性来确定处理器类型。

关于visual-c++ - 确定处理器是 AMD64 还是 Intel64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492484/

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