嵌入式系统开发学习笔记(3)

上期回顾

嵌入式系统开发学习笔记(2)

嵌入式系统开发

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 可执行文件

猜你喜欢

转载自blog.csdn.net/m0_52251623/article/details/114651348