编译(compilation , compile) 1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
相当于:
$gcc -S hello.i -o hello.s
对于c语言:预编译和编译程序叫 : cc1 ,c++ -> cc1plus , Object-c -> cc1obj , fortran -> f771 , Java -> jc1.
实际上gcc 这个命令只是这些后台程序的封装,他会根据不同的参数去调用不同的预编译程序 cc1 , 汇编器 as , 链接器 id