嵌入式c累积之动静态库

本文介绍了嵌入式C中静态库与动态库的概念和应用场景。静态库在编译时会被整合到程序中,增大程序体积,而动态库在运行时加载,减小体积。文章详细阐述了静态库和动态库的创建步骤,并讨论了动态库的动态加载方法,包括配置文件、环境变量和系统默认路径的设定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​ 主要是熟悉下,之前弄过,但忘记了……。其次,是对一些概念更明确些。

为什么要使用库?

库是一种可执行的二进制文件,是编译好的代码。可以直接拿过来就用,提高开发效率。

静态库与动态库的概念

静态库:

静态库在程序编译的时候会被链接到目标代码里面(即:编译程序时,静态库中的函数被拷贝到当前的程序中),所以我们的程序就不再需要该静态库了。因此编译出来的体积就比较大,静态库以lib开头,以.a结尾。

动态库

动态库在程序编译的时候不会被链接到目标代码里面,而是在程序运行的时候被载入的,所以在程序运行的时候就需要动态库。因此编译出来的体积就比较小。动态库以 lib 开头,以.so 结尾。

两种库适用情形???

静态库的制作步骤:

  1. 编写或准备库的源代码,此步略
  2. 将源码.c 文件编译生成.o 文件,执行gcc -c libstatic.c
  3. 使用ar命令创建静态库,执行 ar cr libstatic.a libstatic.o
    此时需要加入两个参数“c”“r”,“c”代表的是创建,“r”代表的是覆盖.
    libstatic.a就是静态库的文件名,.o文件就是上一步生成的.o目标文件。
  4. 测试:编写main函数,直接在函数里调用此库

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值