您的位置:首页 > 大数据 > 物联网

物联网工程实训第三天

2020-07-15 06:22 246 查看
项目开发日报表

 

项目名称

 

【苏嵌实训-嵌入式 linux C 第3 天】

 

今日进度以及任务

  1. 交叉编译
  2. 编译器编译的四个过程——预处理、编译、汇编、链接
  3. 编译器优化、警告、宏定义
  4. 制作静态库和动态库
  5. 调试器gdb的使用
  6. 工程管理器make的使用

 

 

本日任务完成情况

(详细说明本日任务是否按计划完成,开发的代码量)

 

 

1、动态库及静态库的制作及使用:gcc -shared -fPIC

2、Cmake的使用

 

 

本日开发中出现的问题汇总

1.编译器三级优化分别优化了什么?

答:-O 提供基础级别的优化

       -O2 提供更加高级的代码优化,会占用更长的编译时间,针对问题的算法-即选择和构造适合于问题的算法

       -O3 提供最高级的代码优化,将问题抽象为另一种等价的数学模型或假想机器模型

2.总结gcc静态库和动态库的制作

答:静态库:a、根据源文件使用gcc -c 自动生成.o          文件

b.使用ar命令将.o文件归档

c、在头文件里面声明静态库里面的函数,include           该头文件。使用命令生成可执行文件。

 动态库:使用-fpic参数将源文件编译成.o文件

               使用gcc -shared打包,用so后缀,lib前缀。

                 在头文件里面声明静态库里面的函数,include该头文件。使用命令生成可执行文件。

3、总结Cmake的用法

 

本日未解决问题

 

 

 

 

本日开发收获

1、-E:头文件展开,宏替换,条件编译。   -S:生成汇编文件。  -c:生成汇编文件。   -o:重命名

2、-w、-Wall:编译警告。   -O1 -O2 -O3:三步优化。   -D:宏定义

3、使用调试器gdb调试程序

4、使用工程管理器make

 

 

 

其他

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: