是否有人知道将_win32_winnt从0x400更改为0x0501会对性能产生什么影响?
我正在VS2005上编译C ++。 我的应用程序非常面向通信,做了很多Winsock的工作。
答案 0 :(得分:1)
值0x0400的目标是_WIN32_WINNT_NT4,它是以Windows 2000为目标的Windows SDk的较小子集。这意味着您要排除,忽略并丢弃大量已编译到可执行文件中的代码。所以是的,它会更快地执行。
所以,当你定义0x0501时,你说的是,是的给我所有丰富的额外优点,即Windows XP的头文件。但是,由于导入失败,您的应用程序很可能无法在Windows 2000上运行。由于你带来了所有额外的肥胖,你的编译时间会变慢,你的代码会更大,你的可执行文件会更大,而且很可能会更慢。
您可以在此处找到有关这些主题的更多信息:
http://blogs.msdn.com/b/oldnewthing/archive/2007/04/11/2079137.aspx
答案 1 :(得分:0)
我不知道任何与性能相关的特定问题,但如果您能提供有关您的表现如何受到影响的更多具体细节,则有人可能会提供帮助。
例如,您的网络吞吐量是否低于您以前的预期?