上期回顾
嵌入式系统开发
Linux文件操作命令
命令符
1、gcc -Wall 显示所有警告
2、cp …/文件名 . 将上一级目录文件复制到当前目录
库文件说明
库文件(存放在lib文件夹中):存放函数和变量的仓库。
特点:只能使用库里的函数和变量,不能看到其实现。
静态库(通常以.a结尾):当使用静态库时,库里的函数和变量是在编译时加载到可执行文件。
动态库(通常以.so结尾):当使用动态库时,库里的函数和变量是在运行时加载到可执行文件的。
优缺点:
1、可执行文件大小:静态库>动态库(指内存使用效率)
2、可执行文件速度:静态库>动态库(指运行效率)
3、可执行文件的升级:动态库>静态库(指功能升级的难易程度)
4、可执行文件的代码部署:静态库>动态库(指代码部署的位置)
“文件名”:这类文件是在目前目录下寻找,找不到再依次寻找。
<文件>:这类文件在lib库寻找
库文件的存放路径:/lib/usr/lib
静态库的制作
1、gcc -c源文件
2、ar rcs 库文件名 目标文件
3、gcc 源文件 -l库名 -L库名路径
例子:建立加减静态库文件
建立add.c算法文件
建立minus.c算法文件
建立写add.h minus.h文件
将.c文件转换成.o文件
将算法转换成库文件
生成可执行文件
运行文件进行输出
动态库的制作
1、gcc -shared -fPIC 源文件 -o 库名
2、gcc 源文件 ./库名 -o 可执行文件