Winsock2.h vs winsock2.h和wsock32.lib vs ws2_32.lib

Nic*_*ick 8 c++ windows winsock

关于winsock的一些事我很困惑.

首先,包括Winsock2.h和winsock2.h之间的区别是什么('w'的上限)

第二,与wsock32.lib和ws2_32.lib链接有什么区别?

我尝试了几种组合,它们导致编译时错误.任何人都可以向我解释使用背后的逻辑推理吗?

谢谢尼克

Dav*_*rtz 11

Winsock2.h和之间没有区别winsock2.h.文件名在典型的Windows文件系统上不区分大小写.该ws2_32.lib文件适用于Winsock 2,而wsock32.lib适用于过时的旧版本.


dav*_*vid 6

如下所示:https://technet.microsoft.com/en-us/library/cc958787.aspx、 wsock32.dll 和 wsock.dll 是 w2_32.dll 的向后兼容外壳

你可以使用 wsock32.dll 来兼容 Win95,或者使用 wsock.dll 来兼容 win3.11 :) 但通常它们被 Win95 和 Win3.11 程序使用以兼容 win2K+

wsock32.lib 和 w2_32.lib 包含从动态链接库导出的函数和数据元素的列表。

注意:wsock32 和 ws_32 之间的一些差异可能是出乎意料的。例如 wsock32 将运行 winsock 2.2 版 API——但要获得 2.0 版,您需要 w2_32。