c++ - 我的 C++ 应用程序在哪些 Windows 版本和配置上运行?

标签 c++ visual-c++

我使用 MSVC 2010、默认编译设置构建了一个 C++ 应用程序(注意:使用“多线程”而不是“多线程 DLL”以避免需要 Microsoft C++ 运行时)。

我只使用了 STL 和 Win32 API (Windows.h) 中的一些旧函数。

  • 我的应用程序将在哪里运行? (98-7?)
  • 我的应用程序在不同电脑上的运行方式会有什么差异吗?如前所述:这只是一个简单的控制台应用程序。

如果您可以添加一些其他信息(如果有的话),我将非常高兴!

最佳答案

最简单的答案是:您的应用将在 Windows 5.0 及更高版本上运行 - 取决于您使用的其他 API。

Visual C++ 2008 中引入了 5.0 的硬限制,它将 5 标记到其生成的所有可执行文件的所有 PE header 中的最低操作系统版本字段中。

由于Windows NT是唯一版本为5及更高版本的桌面操作系统,这意味着Windows 95、98、ME无法运行用VS 2008和VS 2010制作的程序。Windows 2000实际上是Windows NT 5.0,因此可以针对它。 XP 是 5.1,Vista 6.0,而 Windows 7 实际上是 Windows NT 的 6.1 版本,这有点愚蠢。

关于c++ - 我的 C++ 应用程序在哪些 Windows 版本和配置上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655745/

相关文章:

c++ - 避免在bzhi(y,tzcnt(x))中使用不必要的mov ecx,ecx指令

c++ - 包含指针的原子结构

c++ - 如何将字符串保存为二进制文件

c++ - 如何从头文件将运算符定义添加到现有结构?

c++ - LibCurl - 发布静态库链接问题

c++ - 现在 Visual C++ 动态运行时库是 Windows 操作系统的一部分吗?

c++ - OpenCV 中的高斯模糊 : set 0 constant outside the border?

android - 更新 ndk 修订版 11 后错误未定义对 std::__ndk1 的引用

c++ - 在 C++ 中,我们将非成员函数放在哪个文件中?

C++变量命名