项目开发日报表
|
项目名称 |
【苏嵌实训-嵌入式 linux 第 4天】 |
|
今日进度以及任务 |
学习了gcc,gdp,makefile相关知识 |
|
本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) |
任务1:编译器三级优化分别优化了哪些? 任务2:总结gcc静态库和动态库的制作 任务3:总结cmake的用法 |
|
本日开发中出现的问题汇总 |
无 |
|
本日未解决问题 |
无 |
|
本日开发收获 |
了解了一些编译原理
|
|
其他 |
无 |
任务1:编译器三级优化分别优化了哪些?
GNU编译器提供-O选项供程序优化使用:
-O 提供基础级别的优化
-O2 提供更加高级的代码优化,会占用更长的编译时间
-O3 提供最高级的代码优化
-O4 不优化,这是默认值
任务2:总结gcc静态库和动态库的制作
静态库过程如下:
(1)进入libtest/lib目录,执行命令:
gcc -c -I../include hello.c
这一步将在libtest/lib目录中生成一个hello.o文件。
(2)在libtest/lib目录,执行命令:
ar rc libhello.ahello.o
这一步将在libtest/lib目录中生成一个libhello.a文件。
(3)进入libtest/src目录,执行命令:
gcc main.c-I../include -L../lib -lhello -o main
该命令将编译main.c并链接静态库文件libhello.a生成可执行文件main,这一步将在libtest/src目录中生成可执行文件main
动态库过程如下:
(1)进入libtest/lib目录,执行命令:
gcc hello.c-I../include -fPIC -shared -o libhello.so
(2)进入libtest/src目录,执行命令:
gcc main.c-I../include -L../lib -lhello -o main
任务3:总结cmake的用法
编写main.c,如下,
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
然后在main.c相同目录下编写CMakeLists.txt,内容如下,
cmake_minimum_required (VERSION 2.8)
project (demo)
add_executable(main main.c)
本文分享了在苏嵌实训的第四天,深入学习嵌入式Linux开发的体验,包括GCC、GDP、Makefile的基础知识,以及GCC优化级别、静态库与动态库的制作流程,还介绍了CMake的基本用法。
204

被折叠的 条评论
为什么被折叠?



