【发布时间】:2014-02-03 02:43:15
【问题描述】:
我如何知道我用 C++ 编写的程序能否在 32 位操作系统中正常运行?
(无需手动测试)
我正在使用 Visual Studio 并在 64 位机器上进行编译。这会阻止程序在其他机器上运行吗?
那么处理器和 Windows 版本呢?如果程序只做一些简单的事情,例如 Web 请求和计算,使用简单的用户界面,二进制文件是否与大多数 Windows 版本和处理器兼容?
我的程序不必是 64 位的。我只想创建一个可以在大多数计算机上运行的二进制文件,就像我每天在 Internet 上下载的那些。我怎么能这样做?
【问题讨论】:
-
您是在询问二进制文件是否可以在 32 位 Windows 上运行,或者是否可以针对 32 位 Windows 重新编译源代码并预期可以工作?
-
我在问二进制文件是否会在 32 位上运行。我会编辑我的问题。感谢您的评论。
-
@NunoPeralta:不会。编译器会生成机器指令。这些显然是平台相关的。您知道您的程序是否与 x86 兼容,因为那是(或不是)您在构建它时所针对的架构。
-
谢谢@EdS。所以如果我将它构建为 32 位,它最有可能在大多数计算机上工作吗?
-
您还需要考虑架构,例如,如果您使用 AVX2 为 Intel Haswell 构建代码,但希望它在 95% 没有 AVX2 指令的计算机上运行。我觉得这个问题太宽泛了,因为它要求理解软件分发中的很多概念。