C语言中的静态库,它们是什么以及如何创建第一个静态库

为什么存在图书馆?

库之所以存在于计算机科学中,是因为开发人员需要通过重用代码来节省时间和精力,这意味着,如果有经过验证的,充满信心的(没有错误)功能,那么程序员就无需重新发明轮子,只需将代码添加到新的想法中即可。 。

库是可以从程序中调用的函数的集合,可以通过在编译程序时将这些库嵌入链接过程中来完成。 库可以来自您自己的创作或来自开源代码。

什么是C中的静态库?

静态库是一组直接链接到程序最终可执行文件的目标文件,除非重新编译程序,否则它们将保持不变。 链接之前的目标文件组驻留在以机器代码编写的归档(.a)文件中,该文件是从(.o)文件获得的,而这些文件是从(.c)文件获得的,这些文件是功能代码。 这意味着需要三个步骤来生成带有静态库的可执行文件。

另一个有用的步骤是在编译之前生成(.a)文件内容的索引,因为这将减少处理时间。 该索引将位于(.a)文件中,并有助于查找功能的符号。

如何创建和使用静态库?

首先,需要将所有(.c)文件放在一个目录中,以确保该库仅具有所需的功能,

接下来,运行下一个命令来创建(.o)文件:

gcc -Wall -pedantic -Werror -Wextra -c * .c

然后,通过运行命令:ar -rc libholberton.a * .o创建库(.a文件)。

现在,是时候使用以下命令生成库的索引了:

ranlib libholberton.a

并可以使用以下命令查看索引:nm -s libholberton.a

之后,可以在执行以下命令的编译过程中使用该库将其链接到程序(main.c):

gcc main.c -L。 -lholberton -o报价

最后执行生成的文件,就可以测试该库了:

就是这样。

感谢您阅读这篇文章。 如果您想发表评论,请这样做,我们欢迎您提供反馈。