分发用 C 编写的库

pet*_*mlm 5 c conventions

假设我有一些用 C 编写的代码,定义了一些数据结构和一些使用这些结构的函数,所有这些都位于名为 src1 的目录中。假设现在我想分发这段代码。

如果我想在项目中使用src1中的外部代码我该怎么办?我是否应该将 src1 中的代码编译为 .a 存档,然后将该存档包含在我想要使用的其他项目中?

基本上我需要知道的是在项目中使用外部代码的正确约定。

提前致谢。

Jay*_*Jay 7

要以库的形式分发代码,您需要按照以下步骤操作:

  1. 列出您想要向其他项目公开的结构、函数、宏等集。
  2. 将 Point-1 中列出的数据集分组到一组头文件中。其余的内部内容可以位于其他头文件中。
  3. 将代码编译为静态库(对于基于 Linux 的系统,它是 .a;对于 Windows,它是 .lib)或动态库(对于基于 Linux 的系统,它是 .so/.sl;对于 Windows,它是 .dll)
  4. 向其他项目提供您的库和一组公开的头文件(如上面第 2 点所决定)。

使用 gcc 创建静态或共享库的链接位于此处

使用 MSVC 在 Windows 中创建静态或动态库的链接位于此处