C语言程序编译和链接
编译环境和运行
编译环境也可以称为翻译环境,是将源代码转换为机器可以识别的二进制指令;
运行环境也可以称为执行环境,用于实际执行代码;
翻译环境
翻译环境由编译和链接两个部分组成,而编译又可以分解为:预处理(预编译)、编译、汇编;
编译过程又可以细分为:词法分析、语法分析、语义分析及优化,生成相应的汇编代码文件;
文件在翻译环境中的处理过程
- 一个C语言项目中可能有多个.c文件
每个.c文件经过编译器后生成对应的目标文件(.obj/.o)
- 多个目标文件和链接库一起经过连接器处理后生成可执行程序
编译器展开的3个过程
源文件经过预处理后生成.i文件
再经过编译后生成.s文件
再经过汇编生成目标文件
最后目标文件和链接库一起经过连接器生成可执行程序