编译和解释
为了方便人类书写,我们一般采用高级语言。但是计算机能识别的语言只有机器语言。在运行一个程序之前,他需要被翻译成计算机能识别并执行的形式,这样的一个专门软件是编译器。
编译器就是一个翻译程序。
解释器是另一种语言处理器,他不通过翻译的形式生成目标程序,但是他是利用源程序直接执行。
解释和编译的区别:
- 与计算机的交流方式不同。
编译是把目标程序翻译成可执行的目标代码,执行可执行文件,翻译与执行是分开的。
解释程序不生成目标代码,它逐条地取出源程序中的语句,边解释,边执行。
- 运行环境不同
解释程序跨平台不好,解释器已经做好对不同平台的差异处理
编译程序跨平台性不好,调用底层的机器指令不同,需为不同平台生成不同的机器码文件。
- 运行速度不同
解释程序运行效率低
编译程序执行速度快。
编译的过程
预处理- > 编译 ->汇编(汇编程序转成机器语言)->连接(机器代码和 可重定位的库文件、其他目标文件进行连接)