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

发布于 2024-08-21 04:45:22 字数 143 浏览 4 评论 0原文

我正在移植一些代码以使用 MSVC 9.0 进行编译,我的一位同事提到我们需要链接 WS2_32.dll,因为现在仅支持 Winsock 2。这有道理吗?我们的代码相当旧,并且严重依赖 wsock32.dll,因此这个要求可能会成为该项目的巨大障碍。

谢谢

I'm in the middle of porting some code to be compiled with MSVC 9.0, and one of my coworkers mentioned that we would need to link against WS2_32.dll because now only Winsock 2 was supported. Is there any truth to this? Our code is pretty old and heavily dependent on wsock32.dll, so this requirement could be a huge obstacle for the project.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

错々过的事 2024-08-28 04:45:22

只要您不使用任何 Winsock 2 特定功能,您就可以很好地链接 wsock32.dll。旧的 Winsock 1.1 API 并未被弃用。 Winsock 2 是Winsock 1 的扩展,而不是其替代品。

由于 Winsock 2 纯粹是一个扩展,因此当前针对 wsock32.dll 运行的程序在针对 ws2_32.dll 重新链接时应该仍然可以正常运行。不这样做的最佳理由是,如果您仍然需要支持现有的 Windows 95 系统,因为 Winsock 2 是这些系统的可下载附加组件。 Winsock 2 是随 Windows 98 和 Windows NT 4 一起引入的。Winsock

2 支持程度不同。即使使用了 Winsock 2 附加组件,使用 Windows 7 下所有最新功能的程序也可能无法在 Windows 95 上运行。有时反过来也是如此:例如,较新的 Winsock 堆栈已删除了 Windows 2000 和 XP 中可用的一些原始套接字支持。

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

As long as you're not using any Winsock 2 specific features, you should be just fine linking against wsock32.dll. The old Winsock 1.1 API is not deprecated. Winsock 2 is an extension to Winsock 1, not a replacement for it.

Because Winsock 2 is purely an extension, a program that currently works against wsock32.dll should still work fine when relinked against ws2_32.dll. The best reason not to do that is if you still have to support stock Windows 95 systems, since Winsock 2 is a downloadable add-on for those systems. Winsock 2 was introduced with Windows 98 and Windows NT 4.

There are degrees to Winsock 2 support. A program using all the newest features available under Windows 7 may not work with Windows 95 even with the Winsock 2 add-on. Sometimes the reverse is true, too: the newer Winsock stacks have removed some raw sockets support available in Windows 2000 and XP, for instance.

Bottom line, test on all platforms you have to support.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文