c++ - 在没有静态链接的情况下使用 Winsock

标签 c++ linker winsock winsock2

我正在创建一个聊天应用程序,我最终想与我的 friend 一起使用。现在我正在使用 Winsock2 进行通信,但我注意到 lib 文件正在显着增加 bin 大小。有没有办法在不静态链接的情况下使用 Winsock? .dll 文件已经包含了我需要的所有功能,为什么我还需要 lib 文件?

更新

原来它与 sqlite 库有关。由于某种原因,它使我的 bin 大小增加了 900 kb,我将尝试以不同的方式进行。

最佳答案

据我所知,没有静态 winsock 库。这意味着您不是通过链接到 .lib 来合并库的代码,您实际上是在导入 dll 导出的函数,我相信这正是您想要的。

您的文件的大小可能会略有增加,这只会在具有调试符号和许多其他内容以简化调试的调试版本中产生显着影响。

尝试发布版本,看看它是否缩小了,也许其他调试信息正在使您的可执行文件膨胀。

关于c++ - 在没有静态链接的情况下使用 Winsock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512730/

相关文章:

c++ - 如何仅将 shared_ptr 用于删除器?

c++ - 编译与静态链接

c++ - 对 mongo::curTimeMillis64() 的 undefined reference

c++ - 直接使用 Str.c_str() 和用它来初始化一个 const char * 有什么区别?

C++:利率不会显示为 .06、.6 等

c++ - 是否可以像这样编写c malloc函数代码

c++ - 如何将动态 dll 转换为静态库?

c++ - 可靠的 WinSock API 确定我的机器上使用的字节序

c++ - 将我简单的 winsock 服务器/客户端应用程序转变为简单的网络服务器

c++ - 我如何使用 cmake(和 visual studio)为 qt designer 创建自定义(小部件)插件