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