静态链接Winsock?

发布于 2024-08-10 13:26:03 字数 185 浏览 6 评论 0原文

我在我的项目中使用 Winsock 1.1。我将 wsock32.lib 包含在“其他依赖项”中。

我正在使用 depends.exe 查看 DLL 项目,并注意到该 DLL 依赖于 wsock32.dll。如何静态链接它,使其不依赖于 wsock32.dll

I'm using Winsock 1.1 in my project. I include wsock32.lib in "Additional Dependencies".

I'm looking at the DLL project using depends.exe and notice that the DLL depends on wsock32.dll. How can I statically link it so that it doesn't depend on wsock32.dll?

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

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

发布评论

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

评论(1

眼眸 2024-08-17 13:26:03

简短的回答是你不能。没有静态的winsock库,只能调用wsock32.dll。与无法静态链接到 user32 或 kernel32 的方式大致相同。 wsock32.dll 内部的一些东西在不同版本的 Windows 上必然有所不同,甚至在同一版本的 Windows 上有不同的服务包,因此静态链接将是一场噩梦。

wsock32.dll 存在于安装了 TCP/IP 的所有 Windows 版本上,但具有相同的接口,因此无论如何静态链接都不会带来任何好处。

The short answer is that you can't. There is no static winsock library, you can only invoke wsock32.dll. Much the same way that you can't statically link to user32 or kernel32. There are things with wsock32.dll internally that are necessarily different on different versions of Windows, and even different service packs on the same versions of Windows, so statically linking would be a bit of a nightmare.

wsock32.dll is present on all versions of Windows that have TCP/IP installed, though, with the same interface, so there wouldn't be any benefit from statically linking anyway.

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