课程内容:
今日主要是讲解了Linux中的开发工具(1)编译器:gcc 通过指令实现源文件、汇编文件、目标文件、可执行文件的形成,最主要的是实现静态库和动态库的创建和使用
(2)调试器:gdb 通过gdb指令实现对源文件的调试
(3)工程管理器:make 主要有两个指令:make和cmake指令
作业:
一:编译器的三级优化都优化了哪些?
对于一级优化主要是代码调整,比如有语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化等。
1.-fdefer-pop
2.-fmerge-constans
3.-fthread-jumps
4.-floop-optimize
5.-fif-conversion: if-then
6.-fif-conversion2
7.-fdelayed-branch
8.-fguess-branch-probability
9.-fcprop-registers
对于二级优化主要是换一种新的视角,选择和构造适合于问题的算法
10.-fforce-mem
11.-foptimize-sibling-calls
12.-fstrength-reduce
13.-fgcse
14.-fcse-follow-jumps
15.-frerun-cse-after-loop
16.-fdelete-null-pointer-checks
17.-fextensive-optimizations
18.-fregmove
19.-fschedule-insns
20.-fsched-interblock
21.-fcaller-saves
22.-fpeephole2
23.-freorder-blocks
24.-fstrict-aliasing
25.-funit-at-a-time
26.-falign-functions
27.-fcrossjumping
对于三级优化主要是表驱动状态机
28.-finline-functions
29.-fweb
30.-fgcse-after-reload
二、静态库与动态库
1、对于创造静态库并且使用
(1)先打入自己的函数文件比如add.c
(2)编写源文件
(3)编写注释
(4)形成可执行文件
(5)形成函数文件的目标文件
(6)将目标文件形成静态库
(7)将源文件链接静态库并形成可执行文件
(8)
2、对于动态库的生成和使用
(1)步——(5步)与静态库雷同
(6)将目标文件形成动态库
(7)添加动态库的搜索路径
(8)
苏嵌嵌入式实训第三天
最新推荐文章于 2021-05-08 19:12:54 发布