物联网实训第四天

项目名称【苏嵌实训-嵌入式 linux C 第 4天】
今日进度以及任务使用静态库和使用动态库生成的可执行文件的区别(优缺点)大小:静态库〉动态库内存效率运行速度:静态库〉动态库节省了运行时间编译速度:静态库〈动态库 了解了编译器编译过程(预处理,编译,汇编,链接)学会静态库与动态库的制作与使用
本日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量)动手编写制作了静态库和动态库,编写了Makefile文件
本日开发中出现的问题汇总动手编写制作了静态库和动态库,编写了Makefile文件
本日未解决问题编译器功能太多,记忆不住
本日开发收获学习了gcc,gdb,cmake等开发工具

1、编译器三级优化分别优化了哪些?

第一级:代码调整 ,代码调整是一种局部的思维方式;基本上不触及算法层级;它面向的是代码,而不是问题

第二级:新的视角 ,新的视角强调的重点是针对问题的算法;即选择和构造适合于问题的算法

第三级:表驱动状态机 ,将问题抽象为另一种等价的数学模型或假想机器模型

2. 总结gcc静态库和动态库的制作;
静态库的创建:
创建:
gcc-c源文件.c
ar rcs静态库名 目标文件1目标文件2
rc:静态库不存在,就创建该库文件s:更新库文件

静态库的使用:
静态库创建成功后,然后对全局变量和函数进行声明,在编译的时候加上库文件就行!
gcc-o file flie.c-L.-Iname

动态库的创建:
gcc-shared-fPIC-o库名.so源文件.c
动态库的使用:
gcc源文件c./库名.s0-0可执行文件名
3、总结CMake的用法
调用makefile运行可以对多个文件进行分布编译,可定义make clean指令进行重新编译,方便后期修改.c文件

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值