编译和解释

  为了方便人类书写,我们一般采用高级语言。但是计算机能识别的语言只有机器语言。在运行一个程序之前,他需要被翻译成计算机能识别并执行的形式,这样的一个专门软件是编译器。

  编译器就是一个翻译程序。

  解释器是另一种语言处理器,他不通过翻译的形式生成目标程序,但是他是利用源程序直接执行。

  解释和编译的区别:

  • 与计算机的交流方式不同。

   编译是把目标程序翻译成可执行的目标代码,执行可执行文件,翻译与执行是分开的。

     解释程序不生成目标代码,它逐条地取出源程序中的语句,边解释,边执行。

  • 运行环境不同

     解释程序跨平台不好,解释器已经做好对不同平台的差异处理

     编译程序跨平台性不好,调用底层的机器指令不同,需为不同平台生成不同的机器码文件。

  • 运行速度不同

    解释程序运行效率低

     编译程序执行速度快。

  

  编译的过程

  预处理- > 编译 ->汇编(汇编程序转成机器语言)->连接(机器代码和 可重定位的库文件、其他目标文件进行连接)

原文地址:https://www.cnblogs.com/juanzhi/p/12740842.html