嵌入式操作系统开发(第三节)

嵌入式操作系统开发

学习内容:

1.库文件

库文件:存放函数和变量的仓库,特点:只能是同库里的函数和变量,不能看到实现;

静态库(.a结尾):当使用静态库时,库里的函数和变量只在编译时加载到可执行文件;

动态库(.so结尾):当是同动态库时,库里的函数和变量是在运行时加载到可执行文件的;

可执行文件的大小:静态库>动态库-------内存使用效率 可执行文件的速度:
可执行文件的速度:静态库>动态库-------运行效率
可执行文件的功能升级:静态库<动态库-功能升级的难易程度
可执行文件的代码部署:静态库>动态库-代码部署的位置

库文件的存放位置 /lib/usr/lib

2. 静态库/动态库

2.1如何制作动态库和静态库

静态库

1.gcc -c源文件
2.ar rcs 库文件名 目标文件
3.gcc 源文件 -l库名 -L库名路径

静态库

gcc -shared -fPIC 源文件 -o 库名
gcc 源文件 ./库名 -o 可执行文件

2.2制作静态库

源码:

#include "stdio.h" 
int main() 
{
      
int a,b,c; 
scanf("%d%d",&a,&b); 
c=a+b; 
printf("%d\n",c); 
return 0;
}

vim add.c

嵌入式操作系统开发(第三节)_第1张图片

vim add.h

嵌入式操作系统开发(第三节)_第2张图片

vim mainc.c

嵌入式操作系统开发(第三节)_第3张图片

gcc -c add.c -o add.o

在这里插入图片描述

ar rcs libadd.a add.o

在这里插入图片描述

cp libadd.a zj

在这里插入图片描述

cp add.h zj

在这里插入图片描述

vim main.c

在这里插入图片描述

gcc main.c -ladd -L.

在这里插入图片描述

运行

在这里插入图片描述

你可能感兴趣的:(笔记,java)