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

时间:2013-07-22 21:17:15

标签: c++ windows winsock

我对winsock的一些事感到困惑。

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

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

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

由于 尼克

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:3)

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

您可以使用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。