|
用编译工具将源码文件编译成可执行文件的过程并不是一步到位的,其中要经过一个类似工厂流水线的过程,交叉编译工具中包含负责处理各个环节的功能工具,所以叫做交叉编译工具链。 编译的一般过程分为: 预编译->编译->汇编->链接->生成elf文件->转换为二进制可支持bin文件。 预编译Pre-compile阶段:主要是对头文件#include 、宏定义#define等进行展开。 编译compile阶段:主要是将我们的.c文件编译成汇编.s文件。 汇编Assembly阶段:将汇编文件.s编译成为目标文件.o。 链接Link阶段:将生成.o文件链接生成.elf文件。 转换阶段:将生成的.elf文件转换成为可执行二进制.bin文件。 而这些编译步骤是通过make工具解析Makefile文件来执行。Makefile 文件中描述了整个工程所有文件的编译顺序、编译规则、依赖关系等。关于Makefile更多内容,请阅读后面Makefile章节。
|