c语言程序的构建过程

文章地址:地址  作者:江南一散人

预编译
  把#include指令中引用的头文件展开在当前源文件中
  把#define指令定义的宏标记在源文件中引用该标记的地方进行展开
  对#if、#ifdef、#elif、#endif条件编译指令进行处理,把条件不满足的代码删除
  删除所有注释信息
  其它处理,添加行号和文件位置标识等信息,以及处理#pragma等预编译指令
编译器
  词法分析---语法分析---语义分析---中间码生成---代码优化---机器代码生成
汇编器
  根据CPU厂商提供的汇编指令和机器指令对照表,把汇编指令翻译成机器指令,输出结果为目标文件
  (反汇编器,在程序调试过程中,尤其在调试一些系统底层软件的时候)
链接器
  把多个目标文件间建立起来一种联系,然后根据这种联系,把这些互相关联的目标文件组合起来,最终生成一个可执行文件;
  这里的目标文件,包括汇编阶段产生的目标文件,以及这些目标文件中引用的外部函数所在的库文件,包括动态链接库和静态链接库

posted @ 2021-05-11 17:18  我爱茜茜公主  阅读(280)  评论(0)    收藏  举报