第1章 Linux系统编程入门:静态链接库的创建和使用
Posted C_YCBX Py_YYDS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1章 Linux系统编程入门:静态链接库的创建和使用相关的知识,希望对你有一定的参考价值。
什么是库?
- 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用 者一些可以直接拿来用的变量、函数或类。
- 库是特殊的一种程序,编写库的程序和编写一般的程序区别不大,只是库不能单独运行。
- 库文件有两种,静态库和动态库(共享库),区别是:静态库在程序的链接阶段被复制 到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加 载到内存中供程序调用。
- 库的好处:1.代码保密 2.方便部署和分发
静态库的制作
一、静态库的命名规则
- Linux :
libxxx.a
lib : 前缀(固定)
xxx : 库的名字,自己起
.a : 后缀(固定) - Windows :
libxxx.lib
二、静态库的制作
-
gcc命令获得 .o 文件。
-
将 .o 文件打包,使用 ar 工具(archive)
ar rcs libxxx.a xxx.o xxx.o
r – 将文件插入备存文件中
c – 建立备存文件
s – 索引
实践(生成静态链接库):
- 用于实验的目录文件
- 直接汇编成目标.o文件
- 将.o文件通过ar工具生成对应的静态链接库
静态库的使用
接过上一次生成的目录:
根据目录的观察可以得出,由于main函数中包含的head.h文件和它并非在同一目录层级,所以需要 -I(大写i) 命令进行目录的索引,而静态链接库同样也没在同一目录层级,需要 -L 命令进行索引。而在链接时加入静态库的链接可以通过 -l(小写L) 命令解决。
最终通过这一行命令生成可执行文件:(注意-l后面只需要输入lib后面的名字即可)
gcc main.c -o app -I./include -L./lib -lcal
成功编译执行程序:
以上是关于第1章 Linux系统编程入门:静态链接库的创建和使用的主要内容,如果未能解决你的问题,请参考以下文章