项目名称 | 【苏嵌实训-嵌入式 linux C 第 5 天】 |
今日进度以及任务 | 学习使用Linux开发工具gcc gdb make |
本日任务完成情况 | 创建静态库和动态库 |
本日开发中出现的问题汇总 | 各种指令使用不熟练,代码错误修改难 |
本日未解决问题 | gcc部分指令操作,Makefile操作 |
本日开发收获 | 可以操作调试文件,完成部分调试工作 |
其他 | 编程部分不熟练,无法单独完成 |
作业:
1、O1:语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化
O2:选择和构造适合于问题的算法
O3:将问题抽象为另一种等价的数学模型或假想机器模型
2、静态库制作:生成test.o目标文件,使用gcc -c test.c -o test.o命令。使用ar将test.o打包成libtest.a静态库,使用ar rcs -o libtest.a test.o命令。生成libtest.a静态库后,可以使用命令ar t libtest.a查看libtest.a文件中包含哪些文件。编译main.c,并使用libtest.a静态库,gcc main.c ./libtest.so -o main。
动态库制作:生成test.o目标文件,gcc -c -o test.o -fPIC test.c。使用-shared参数生成动态库,gcc -shared -fPIC -o libmyshare.so test.c。编译main.c,使用libmyshare.so动态库,命令如下gcc -o app_share main.c -L。
3、调用makefile运行可以对多个文件进行分步编译,可定义make clean指令重新编译,方便后期修改.c文件