苏嵌实训-嵌入式 linux C 第2天

-项目名称 --【苏嵌实训-嵌入式 linux C 第2天-
-今日进度以及任务-明白编译过程,学会gcc和gbd的使用,会制作gcc静态库和动态库,学会工程管理器make-
-本日任务完成情况-知道了工程编译过程,学会了gcc和gbd,会制作gcc静态库和动态库,不太懂工程管理器make
本日开发中出现的问题汇总
本日未解决问题不太懂工程管理器make的使用和makefile的建立
本日开发收获-明白了预处理—编译—汇编—链接的编译过程,学会gcc和gbd的使用,会制作gcc静态库和动态库
其他

编译器三级优化分别优化了哪些?
1级:调整代码
面对代码, 语句调整,用汇编语言重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化
2级 换新的视角.
针对问题重新选择和构造适合于问题的算法,尝试不同的思考问题的角度,寻求适合于问题的新算法。
3级 表驱动状态机
将问题抽象为另一种等价的数学模型或假想机器模型,它整合了第一和第二级别中的左右优化技巧, 还包括了一些优化。

总结gcc静态库和动态库的制作*
静态库:源程序在编译时就把静态库包含进来,生成一个可执行文件。
----- 先用gcc -c 把file.c变成.o文件
-----再ar rcs libfile.a file.把file封装成库
动态库:源程序生成可执行文件后,在运行时调用动态库。程序在内存中运行时,动态库才加载到内存中 。
-----先用gcc -c 把file.c变成.o文件
-----再 gcc -shared-fPIC-o 库名.so 源文件.c封装成库

总结CMake用法
cmake 会为项目自动生成Makefile,makefile是一种在工程方面的编译方法,
在所要编译的程序代码后使用和编译cmake命令会自动生成Makefile文件,测试程序就可以运行了。
cmake的优势在于管理庞大的项目,可以创建带目录结构的项目。其中有源文件目录,头文件目录,我们可以新建了一个文件目录来存储编译中间文件
使用add_executable(),用install指定安装目录,永sudo make install执行动态安装可以实现动态库编译。
将add_library中的shared改为static可以实现静态编译。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值