假设我有一些用C编写的代码,其中定义了一些数据结构,一些函数用于处理这些结构以及所有在src1目录中的函数。假设现在我想分发这段代码。
如果我想在项目中使用src1中的外部代码,我该怎么办?我应该将src1中的代码编译为.a存档,然后将该存档包含在我想要使用的其他项目中吗?
基本上我需要知道的是在项目中使用外部代码的正确约定。
提前致谢。
答案 0 :(得分:4)
要以库的形式分发代码,您需要按照以下步骤操作:
答案 1 :(得分:1)
是的,您可以使用静态库,它是Linux中的.a文件,通常是Windows中的.lib。这也要求您共享标题,因此使用该库的代码可以具有正确的数据结构定义。
答案 2 :(得分:1)
您可以使用任何格式(.a或.so)来分发您的库。第一个是静态盟友墨水,第二个是动态链接。要了解更多信息,请参阅此答案Difference between static and shared libraries?
你曾经使用过的东西总是以同样的方式链接它。
gcc -L/path/to/lib -lsrc1 source.c -o source.o
此处,/path/to/lib
可以包含您之前编译的libsrc1.so
或libsrc1.a