关于C静态库
为什么要使用库?
好吧…您不必使用库。 您不必使用它们提供的工具来构建宜家家具(而不是构建宜家家具)。 您可以自己制作螺丝刀,但这听起来很费力,甚至令人生畏。 库是程序员的工具箱,是存放工具的工具箱。 假设您正在使用字符串,C标准库中有一些函数可以帮助您解决问题。 您可以包括string.h头文件,以使您可以访问这些功能。 您可能会为此而疯狂。 实际上,您可以创建自己的该死的图书馆! 是的,我说“该死”。 这不是您的日常SFW媒介。 这是一个大胆的媒介,所以我希望它成为(破坏者警报:这绝对是SFW媒介。)。 让我们看看结果如何……
库如何工作。
库文件是其中包含目标文件的单个文件。 在编译期间,在编译的“链接阶段”将库链接到程序。 如果您没有将C函数库中的库函数原型包含在C标准库中,那么这是一个好习惯。
如何建立它们
- 生成函数的目标文件。
- * .c假设目录中唯一的.c文件是功能文件🙂
gcc -c * .c
2.存档,存档,存档!
- 使用archiver命令以及r和c选项以及您的库名称+ .a +目标文件来创建您的库
- 如果存在新版本,则r选项用于替换库中的旧功能
- c选项用于创建库(如果不存在)。
- ranlib用于索引您的库
ar rc librarynamehere.a * .o
如何使用它们。
要使用您的库,请使用“ L”和“ l”标志,如下所示:
cc main.o -L。 -lutil -o编
- “ L”标志使编译器知道在哪里寻找您的库
- “ l”标志使编译器知道您的库的名称(减去扩展名“ .a”)。
我现在可以尝试一下吗?
继续你不好的自我,继续你的静态库吧!