假设我有一些用 C 语言编写的代码,其中定义了一些数据结构和一些用于处理这些结构的函数,所有这些都位于名为 src1 的目录中。假设现在我想分发这段代码。
如果我想在项目中使用src1中的外部代码怎么办?我是否应该将 src1 中的代码编译为 .a 存档,然后将该存档包含在我想使用的其他项目中?
基本上我需要知道的是在项目中使用外部代码的正确约定。
提前致谢。
最佳答案
要以库的形式分发代码,您需要按照以下步骤操作:
- 列出您希望向其他项目公开的结构、函数、宏等集合。
- 将 Point-1 中列出的数据集分组到一组头文件中。其余的内部内容可以在其他头文件中。
- 将您的代码编译成static(对于基于 linux 的系统为 .a,对于 windows 为 .lib)或dynamic 库(对于基于 Linux 的系统将是 .so/.sl,对于 Windows 将是 .dll)
- 向其他项目提供您的库和公开的头文件集(如上文第 2 点所决定)。
使用 gcc 创建静态或共享库的链接是 here
使用 MSVC 在 Windows 中创建静态或动态库的链接是 here
关于c - 分发用 C 编写的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10580725/