在ANSI的任何一种实现中,存在两种不同的环境。翻译环境:在这个环境里,源代码被转换为可执行的机器指令。执行环境:用于实际执行代码。组成一个程序的每个源文件通过编译过程分别转成目标代码各个目标文件由链接器捆绑在一起,形成一个单一而完整的可执行程序。链接器同时也会引入标准c函数库中的任何被改程序所用到的函数。过程如下图所示实际上,翻译环境本身也有几个阶段组成:预编译阶段:在这个阶段主要进行一些文本操作,如处理预处理指令,删除注释,#define宏替换,条件编译。我们可以在linux平台下测试一下,