2014025639(13) 《嵌入式系统程序设计》第二周学习总结
第二周学习内容
在第二周的学习中,我学会了GCC的编译原理和make命令的使用方法,并在课后通过实验楼的练习,熟悉了make的使用方式和gcc编译的过程。
Makefile:
在课堂上通过老师的教学了解了makefile的作用,和makefile文件的基本结构:
target ... : prerequisites ...
command
...
或者
target ... : prerequisites ; command
command
...
target也就是一个目标文件,可以是Object File,也可以是执行文件.
prerequisites就是,要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。
其中部分可以使用通配符来进行替换:
* :: 表示任意一个或多个字符
? :: 表示任意一个字符
[...] :: ex. [abcd] 表示a,b,c,d中任意一个字符, [^abcd]表示除a,b,c,d以外的字符, [0-9]表示 0~9中任意一个数字
~ :: 表示用户的home目录
最后通过课后的学习和实验,学习了make的工作过程:
1、读入主Makefile (主Makefile中可以引用其他Makefile)
2、读入被include的其他Makefile
3、初始化文件中的变量
4、推导隐晦规则, 并分析所有规则
5、为所有的目标文件创建依赖关系链
6、根据依赖关系, 决定哪些目标要重新生成
7、执行生成命令