目录
程序的翻译环境和执行环境
存在两个不同的环境
第一种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。
第二种是执行环境,它用于实际执行代码。
- 每一个源文件都会单独作一个单元被编译器处理生成一个目标文件
- 经过链接器的处理生成可执行程序。
- 链接器同时引入标准c函数库中任何被该程序所用到的函数,而且它可以搜索程序个人的程序库将其需要的函数也链接到程序中
编译又分为3个阶段
- 预处理:选项 gcc -E test.c -o test.i 预处理完成之后就停下来,预处理产生的结果存放在test.i文件中。
- 编译:选项 gcc -S test.c 编译完成之后就停下来,结果保存在test.s中。
- 汇编:gcc -c test.c 汇编完成后就停下来,结果保存在test.c中。
预编译
进行文本操作
如:#include 头文件包含
注释删除:使用空格替换注释
#define……
编译
把c语言翻译成汇编语言
1.语法分析
2.词法分析:使用编译原理构成语法书
3.语义分析
4.符号分析:函数名、全局变量汇总