我想创建自己的库,并使用与
中的标准C库相同的语法#include<mylib.h>
因此它看起来像#include和C中包含的一些库。
我可以将库设置为静态而不是链接,以便我可以在没有其他参数的情况下在GCC中编译它,就好像我使用的是stdio.h或string.h这样的另一个库吗?
答案 0 :(得分:3)
这看起来很简单。
开发库(根据需要创建尽可能多的源文件)。
使用像CMAKE这样的工具(我强烈推荐)将源文件构建到共享库(.so)。
将该库复制到您的库路径(即/usr/lib
)
稍后,您所要做的就是使用#include<mylib.h>
导入您的lib:(i)在源代码中; (ii)在GCC编译器中构建(也使用CMAKE)或使用标志(-lmylib
)时:gcc -lmylib myfiles.c -o myoutput。
答案 1 :(得分:2)
除了#include&#34; mylib.h&#34;之外,您还需要在使用库时将-lmylib
命令行添加到编译器(更具体地说是链接器)。我假设通过ar
命令创建的库存档名为libmylib.a
。
答案 2 :(得分:2)
通常,我们不会编写“手动”构建指令,但我们依赖于生成构建链的工具。其中有很多,最知道的可能是autotools和cmake(在Linux下)。
我建议您查看cmake示例和/或文档以获取代码。
静态库和动态库之间存在很多差异,如果你真的想要像'标准'库那样使用它,你还需要以某种方式打包你的库(比如libxml2,openssl等)
有很多话要说,但你首先应该看看'如何构建'你的lib,然后看看如何使它易于使用,恕我直言。