1.3 C语言编译机制

在编写C语言之前,需要了解C语言的编译机制。用编译原理的话来说,分成词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成几个阶段。

以简单地输出“My first program”字符串程序为例,在编译运行的过程中,它包含如下“四部曲”,如图1-30所示。

图1-30 程序编写及运行流程

1.编辑

将程序代码输入,交给C语言开发环境。

2.编译

将高级语言转换成计算机可以识别的二进制语言,并生成目标程序文件.obj。

3.连接

连接就是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序(*.exe)。

4.运行

像运行其他程序一样运行生成的可执行文件(*.exe文件)。

对C语言来说,一般只需要知道编译和链接两个阶段,编译阶段是将源程序(*.cpp)转换成为目标代码(一般是obj文件),连接阶段是把源程序转换成的目标代码(obj文件)与程序里面调用的库函数对应的代码连接起来形成对应的可执行文件(exe文件)。