项目名称 | 【苏嵌实训-嵌入式 linux C 第 X 天】 | |
今日进度以及任务 | 1:编译器三级优化分别优化了哪些? 2:总结gcc静态库和动态库的制作 3:总结Cmake的制作 | |
本日任务完成情况 (详细说明本日任务是否按 计划完成,开发的代码量) |
1:编译器优化级别1 是在优化的第一个级别执行基础代码的优化(-fdefer-pop,-fmerge-constans,-fthread-jumps,-floop-optimize,-fif-conversion,-fif-conversion2,-fdelayed-branch,-fguess-branch-probability,-fcprop-registers);编译器优化级别2是结合了第一个级别的所有优化技术, 再加上以下一些优化(-fforce-mem-foptimize-sibling-calls,-fstrength-reduce,-fgcse,-fcse-follow-jumps,-frerun-cse-after-loop,-fdelete-null-pointer-checks, -fsched-interblock,-fcaller-save,fpeephole2,-freorder-blocks,-fstrict-aliasing,-funit-at-a-time,-falign-functions,-fcrossjumping);编译器优化级别3 整合了第一和第二级别中的左右优化技巧, 还包括一下优化(-finline-functions,-fweb,-fgcse-after-reload) 2:静态库: 先生成一个test.o目标文件 使用ar将test.o打包成libtest.a静态库 生成libtest.a静态库后(可以使用命令ar t libtest.a查看libtest.a文件中包含哪些文件)然后编译main.c 并使用libtest.a静态库 链接时-l参数后不加空格指定所需要链接的库 运行app_static 动态库: 先生成test.o目标文件 使用-shared参数生成动态库 编译main.c 3:首先下载Cmake; hello/ |– CMakeLists.txt |– build / `– main.c 在windows下 cmake提供了图形界面 设定hello为source目录 build为二进制目录 然后点击configure即可开始构建 之后进入build目录运行make命令编译 在linux命令行下 首先进入目录build 然后运行命令
| |
本日开发中出现的问题汇总 |
| |
本日未解决问题 |
| |
本日开发收获 |
| |
其他 |
|