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

时间:2010-04-16 19:52:23

标签: c++ visual-c++

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

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

  • 我的应用会在哪里运行? (98-7?)
  • 我的应用程序在不同PC上的工作方式有何不同?如上所述:它只是一个简单的控制台应用程序。

如果你能加上一些额外的信息,我会很高兴的!

3 个答案:

答案 0 :(得分:3)

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

在Visual C ++ 2008中引入了5.0的硬限制,它将5写入其生成的所有可执行文件的所有PE头中的最小OS版本字段。

由于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版本。

答案 1 :(得分:1)

在MSDN上查看"Using the Windows Headers"。它描述了如何配置Windows头文件以支持各种OS的混合。

答案 2 :(得分:0)

我认为你必须考虑另一种方式,你需要支持哪些版本的Windows,然后你可以检查你需要的API是否受支持,或者你是否需要找到解决方法。 在看到Chris关于Win9x的评论不再得到支持后,我看了一下,发现2010 redist包只支持WinXP及以上版本,所以你现在可能无法为Win 2000编译?