当前位置 : 主页 > 编程语言 > c++ >

visual-c – 使用MSVC9.0构建时是否需要使用WS2_32.dll而不是wsock32.dll

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在移植一些代码以便用MSVC 9.0编译,我的一个同事提到我们需要链接WS2_32.dll,因为现在只支持Winsock 2.有没有道理呢?我们的代码很老,很大程度上依赖于wsock32.dll,所以这个要求可能是该
我正在移植一些代码以便用MSVC 9.0编译,我的一个同事提到我们需要链接WS2_32.dll,因为现在只支持Winsock 2.有没有道理呢?我们的代码很老,很大程度上依赖于wsock32.dll,所以这个要求可能是该项目的一个巨大障碍.

谢谢

只要您没有使用任何Winsock 2特定功能,您应该可以很好地链接到wsock32.dll.旧的Winsock 1.1 API不推荐使用. Winsock 2是Winsock 1的扩展,而不是它的替代品.

因为Winsock 2纯粹是一个扩展,当一个针对wsock32.dll的程序在重新链接ws2_32.dll时仍然可以正常工作.不这样做的最好理由是你仍然需要支持Windows 95系统,因为Winsock 2是这些系统的可下载插件. Windows 98和Windows NT 4引入了Winsock 2.

有Winsock 2支持程度.使用Windows 7下可用的所有最新功能的程序即使使用Winsock 2插件,也可能无法与Windows 95一起使用.有时反过来也是如此:例如,较新的Winsock堆栈已经删除了Windows 2000和XP中可用的一些原始套接字支持.

最重要的是,在您必须支持的所有平台上进行测试.

网友评论