关于C静态库

为什么要使用库?

好吧…您不必使用库。 您不必使用它们提供的工具来构建宜家家具(而不是构建宜家家具)。 您可以自己制作螺丝刀,但这听起来很费力,甚至令人生畏。 库是程序员的工具箱,是存放工具的工具箱。 假设您正在使用字符串,C标准库中有一些函数可以帮助您解决问题。 您可以包括string.h头文件,以使您可以访问这些功能。 您可能会为此而疯狂。 实际上,您可以创建自己的该死的图书馆! 是的,我说“该死”。 这不是您的日常SFW媒介。 这是一个大胆的媒介,所以我希望它成为(破坏者警报:这绝对是SFW媒介。)。 让我们看看结果如何……

库如何工作。

库文件是其中包含目标文件的单个文件。 在编译期间,在编译的“链接阶段”将库链接到程序。 如果您没有将C函数库中的库函数原型包含在C标准库中,那么这是一个好习惯。

如何建立它们

  1. 生成函数的目标文件。
  • * .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”)。

我现在可以尝试一下吗?

继续你不好的自我,继续你的静态库吧!