嵌入式开发工具 静态库动态库制作与使用

1、编译器gcc(静态库和动态库的制作与使用)
2、调试器gdb(常用命令,调用内存错误)
3、工程管理器 make(Makefile编写、多目录的Makefile的编写)

库函数(保存在库文件中)printf scanf strcpy strcat
库文件:保存函数和变量,里面的函数和变量只能使用,看不到其实现

extern:该函数在其他文件已经定义

库的分类

静态库.a 在编译阶段加载到可执行文件中
动态库.so 保存的函数和变量在执行阶段加载到可执行文件中

使用静态库和动态库的区别

**(可执行文件的区别)
1、使用静态库编译出来的可执行文件的大小>使用动态库编译出来的可执行文件的大小-----影响到内存的开销
2、使用静态库编译出来的可执行文件的执行速度快于使用动态库编译出来的可执行文件的执行速度
3、使用静态库编译出来的可执行文件升级<动态库
4、使用静态库编译出来的可执行文件程序部署>动态库
程序部署就是摆放位置

库文件的存放路径:系统运行所需的库文件:/lib 第三方软件和工具运行所需要的库:/usr/lib
编译时,编译器会自动到这两个目录里找所需要链接的库文件。

制作静态库

1、将目标源文件编译成目标文件:gcc -c 目标源文件(gcc -c add.c) -->(生成add.o文件)
2、使用ar工具制作静态:ar -rcs(库不存在就创建,存在就更新)所要生成的库文件的名字(lib+库名+后缀) 目标文件 arc -rcs libadd.a add.o

使用静态库
-l:指定加载哪个静态库
使用方法:-l加库名

-L:指定加载库的存放路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值