|
发表于 2003-5-20 19:54:27
|
显示全部楼层
说一点。
用gcc命令来生成可执行文件看起来好像是一步完成的,但实际上gcc命令仅是个驱动者,它必须调用其他工具来完成任务。生成可执行文件一般可分为以下四个步骤:
预自理(preprocessing):分析各个宏命令,如#define,#include等。gcc是调用预处理程序cpp来实现这项工作的。
编译(complilation): 根据输入文件而产生汇编程序,一般由于直接调用汇编器而不会产生汇编程序文件。这一步是由编译器ccl进行的。
汇编(assembly):将汇编程序输出成为一个具有.o后缀的目标文件。这一步骤是由汇编器gas来完成的。
链接(linking):将各目标文件链接在可执行文件中,所以引用的静态链接库也链接在一起。gcc调用链接器gld来完成这一步骤。
程序从源代码生成可执行文件,就是经历这几个步骤,是通用的,而不是只局限于gcc。 |
|