c++ - 关于在 C++ 中构建和使用静态库的引用

标签 c++ sockets dll

我已经使用套接字在 C++ 中创建了一个简单的 FTP 服务器,作为项目的一部分,我需要将我的一些代码移植到一个库中。基本上,我将包装一些 native Socket 函数并以库形式使用它们。

该库必须与 32 位和 64 位系统兼容,编译成静态或 DLL 形式,并且还适用于调试和 Release模式。我们的教授在类里面用了三个小时的时间回顾了这个过程,但很明显,我们遗漏了很多过程,而且没有在任何地方写下来。所以我希望能找到一个很好的引用资料来帮助这个主题我做对了。

最佳答案

阅读program library howto .它解释得很好。另请阅读 ar(1)

我不确定您是否应该创建一个静态 库(例如一些libfoo.a)。 动态链接,即共享库(例如libfoo.so)通常更可取。阅读Drepper's paper: How to write shared libraries

也看看里面libcurl源代码。它应该能教给您很多东西。

GNU make知道 archive文件,即静态 libfoo.a 库。

关于c++ - 关于在 C++ 中构建和使用静态库的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22734020/

相关文章:

windows - 什么是 Windows 命令行 EXE 的 "side-by-side configuration",我该如何更正它?

c++ - Visual Studio TDD 项目的代码覆盖工具

c# - StreamReader.ReadLine 和 CR

java - 在 Java Servlet 中限制 HTTP 请求

.net - Socket.BeginConnect 与 Socket.Connect

dll - 为什么我的 NuGet 包只能与特定版本的第三方库一起使用?

c++ - 使用 MFC 在 opencv 中的函数 cvInitImageHeader 中输入 roi 错误

c++ - 为什么 unsigned int 在 C++ 中给出负值?

c++ - 是否存在分别包含 `int const` 和 `const int` 的非等效类型对?

sql-server - 如何为自定义 SQL Server 扩展存储过程创建简单的 DLL?