一:程序环境
程序环境分为两个环境
一个是翻译环境:将源代码转换为机器可执行的指令
一个是执行环境:用于实际执行代码
二:详解编译和链接
翻译环境可以分可两个阶段:
编译和链接
编译:
编译本身可以分为三个阶段,分别是预处理,编译和汇编
预处理:
预处理阶段对源代码进行是文本操作,然后将.c文件变成.i文件
1:展开头文件
将include包含的头文件进行替换,替换成头文件的内容
2:删除注释
认为写的注释只是为了我们更好的理解代码,而计算机不需要
3:#define定义符号的替换
编译:
在编译阶段会将c语言代码转换为汇编代码,然后进行语法分析,词法分析,语义分析,符号汇总,编译器在检测语法错误的时候就是在这个阶段进行。
汇编:
将编译阶段生成的汇编代码转换成二进制文件,形成符号表。
链接:
编译的结果是生成一个目标文件(.obj),然后链接(链接器会把链接库和目标文件链接在一起,链接生成可执行程序)。