嵌入式系统开发学习笔记
linux操作补充
1、gcc -Wall 1.c 查看代码所有警告
2、cp . ./add.h 把上一级的add.h复制到这一级
库文件
库文件:存放函数和变量的仓库,特点:只能使用库里的函数和变量,不能看到其实现
静态库(以.a结尾):当使用静态库时,库里的函数和变量只在编译时加载到可执行文件
动态库(以.so结尾):当使用动态库时,库里的函数和变量只在运行时加载到可执行文件
可执行文件的大小:静态库>动态库---->静态库的内存的使用效率不高
可执行文件的速度:静态库>动态库---->运行效率
可执行文件的功能升级:动态库>静态库—>功能升级的难易程度
可执行文件的代码部署:静态库>动态库---->代码部署的位置
库文件放在lib文件下
库文件的存放路径:/lib/usr/lib
ar rcs libadd.a add.o 建立一个libaddd.a的静态库
gcc main.c -ladd -L. 静态编译(-L.指定静态库的位置在当前目录)
如何制作静态库和动态库
静态库
gcc-c 源文件;
ar rcs 库文件名字 目标文件;
gcc 源文件 -l库名 -L库的路径
动态库
gcc -shared -fPIC (源文件)add.c -o (库名)libcal.so
gcc (源文件)main.c ./(库名)libadd.so -o (可执行文件)main