return Asked:2022-02-27 00:16:57 +0800 CST2022-02-27 00:16:57 +0800 CST 2022-02-27 00:16:57 +0800 CST 为什么 C 认为我有 Windows Server 2003? 772 当我在寻找问题的解决方案时,我无意中发现了这行代码,它引入了一个昏迷状态: #define WINVER 0x0502 我有 Windows 10,但此代码来自 Windows Server 2003(文档)...... 编译器 MinGW-W64。Windows 10 随购买的机器一起提供,即 执照。 声明宏WINVER头本身winresrc.h。值_WIN32_WINNT与 相同WINVER。 c 1 个回答 Voted Best Answer KoVadim 2022-02-27T00:38:14+08:002022-02-27T00:38:14+08:00 这不算什么。此定义指示编译程序将能够运行的最低操作系统版本。其他功能可以检查和连接不同的实现。例如,在 Visual Studio C++ 中,不同操作系统的 std::mutex 实现方式不同。WindowsSDK 还积极地使用它来选择肯定可以在给定操作系统上运行的代码。 您可以将其增加到您想要的任何值。不会有什么不好的事情发生。如果你猜错了,程序可能根本无法启动(例如,它可能在启动时就开始发誓在某某dll中找不到某某函数)。
这不算什么。此定义指示编译程序将能够运行的最低操作系统版本。其他功能可以检查和连接不同的实现。例如,在 Visual Studio C++ 中,不同操作系统的 std::mutex 实现方式不同。WindowsSDK 还积极地使用它来选择肯定可以在给定操作系统上运行的代码。
您可以将其增加到您想要的任何值。不会有什么不好的事情发生。如果你猜错了,程序可能根本无法启动(例如,它可能在启动时就开始发誓在某某dll中找不到某某函数)。