C语言程序的执行步骤如下:
预处理:预处理器根据预处理指令(例如#include和#define)处理源代码文件,并生成预处理后的文件。预处理器将头文件插入到源文件中,展开宏定义,并删除注释。
编译:编译器将预处理后的文件转换为汇编语言代码。它将源代码转化为机器可读的指令序列,即汇编代码。
汇编:汇编器将汇编语言代码翻译成机器语言指令(二进制代码),生成目标文件。目标文件是一种二进制文件,包含了可执行程序的机器语言指令。
链接:链接器将目标文件与其他依赖的目标文件以及库文件进行链接,生成最终的可执行程序。链接器解决了符号引用问题,将不同目标文件中的符号引用链接到符号定义的位置。
加载:操作系统将可执行程序从磁盘加载到内存中。
执行:处理器按照指令的顺序执行内存中的机器语言代码,完成程序的运行。