Visual c++ 能否为旧CPU设置Visual Studio 2017 CPU目标?

Visual c++ 能否为旧CPU设置Visual Studio 2017 CPU目标?,visual-c++,visual-studio-2017,Visual C++,Visual Studio 2017,有没有办法设置Visual Studio 2017以支持较旧的CPU?说一个没有SSE2的 谢谢。您可以在项目设置中选择要使用或不使用的CPU扩展。以下内容适用于VS2019,但IIRC与VS2017非常相似 在解决方案资源管理器中,在项目上单击鼠标右键,然后从弹出菜单中选择“属性”。打开C/C++树列表并选择代码生成页面。然后,在“启用增强型指令集”中,选择“无增强型指令”选项或“未设置”(如果该选项不可用),如下所示: “无增强指令”选项将指示编译器仅使用适用于奔腾CPU的“基本”英特尔x8

有没有办法设置Visual Studio 2017以支持较旧的CPU?说一个没有SSE2的


谢谢。

您可以在项目设置中选择要使用或不使用的CPU扩展。以下内容适用于VS2019,但IIRC与VS2017非常相似

在解决方案资源管理器中,在项目上单击鼠标右键,然后从弹出菜单中选择“属性”。打开C/C++树列表并选择代码生成页面。然后,在“启用增强型指令集”中,选择“无增强型指令”选项或“未设置”(如果该选项不可用),如下所示:

“无增强指令”选项将指示编译器仅使用适用于奔腾CPU的“基本”英特尔x86指令集

等效的命令行选项是/arch:IA32,根据:

不指定增强指令,也指定x87用于 浮点计算


在旧版本的MSVC中,有一个选项可以包括针对/QIfdiv的代码保护,但它现在似乎已被删除。

您可以在项目设置中选择要使用或不使用的CPU扩展。以下内容适用于VS2019,但IIRC与VS2017非常相似

在解决方案资源管理器中,在项目上单击鼠标右键,然后从弹出菜单中选择“属性”。打开C/C++树列表并选择代码生成页面。然后,在“启用增强型指令集”中,选择“无增强型指令”选项或“未设置”(如果该选项不可用),如下所示:

“无增强指令”选项将指示编译器仅使用适用于奔腾CPU的“基本”英特尔x86指令集

等效的命令行选项是/arch:IA32,根据:

不指定增强指令,也指定x87用于 浮点计算


在旧版本的MSVC中,有一个选项可以包括针对/QIfdiv的代码保护,但它现在似乎已被删除。

您是想设置一个项目,以便生成的代码在“旧”CPU上正确运行,还是想做一些更微妙的事?如果前者,你能让我们知道你正在建设什么语言在C,C++,BASIC,C等?生成代码,运行在旧奔腾CPU。C/C++项目。您是希望设置一个项目,以便生成的代码能够在“旧”CPU上正确运行,还是想做一些更微妙的事情?如果前者,你能让我们知道你正在建设什么语言在C,C++,BASIC,C等?生成代码,运行在旧奔腾CPU。C/C++项目。谢谢!!我看了那一页,但没看到。不管怎么说,尽管它说未设置,但看看Dr Watson转储文件是在NT4上的,该指令实际上是一条SSE2指令。FAULT->0048e8ee 660fd6-66 0f d6是MOVQ您是否尝试过在C/C++->命令行属性页的附加选项中显式添加/arch:IA32?不,这是一次性的,客户旧的专用设备使用NT4,正在升级中,没有时间使用它。但是,如果MSVC clib不是使用SSE2构建的,这确实让我感到好奇?@df2:notset选项意味着,您没有覆盖.vcxproj文件中的默认值。您使用的是工具链中设置为默认值的内容。您可以快速识别在.vcxproj文件中设置的选项:这些选项以粗体显示。您的.vcxproj中没有设置其他所有内容,而是使用默认设置。谢谢!!我看了那一页,但没看到。不管怎么说,尽管它说未设置,但看看Dr Watson转储文件是在NT4上的,该指令实际上是一条SSE2指令。FAULT->0048e8ee 660fd6-66 0f d6是MOVQ您是否尝试过在C/C++->命令行属性页的附加选项中显式添加/arch:IA32?不,这是一次性的,客户旧的专用设备使用NT4,正在升级中,没有时间使用它。但是,如果MSVC clib不是使用SSE2构建的,这确实让我感到好奇?@df2:notset选项意味着,您没有覆盖.vcxproj文件中的默认值。您使用的是工具链中设置为默认值的内容。您可以快速识别在.vcxproj文件中设置的选项:这些选项以粗体显示。其他所有内容都不是在.vcxproj中设置的,而是使用默认值。