编译和解释的区别

2019-02-15  本文已影响1人  FlyingPig_

过程和结果

编译器是将 source code 转化成为一种新的目标代码.

一个现代编译器的主要工作流程如下:
源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(Linker)→ 可执行文件(executables),最后打包好的文件就可以给计算机去判读运行了。

解释器对一行行源代码解释运行.

解释器运行程序的方法有:

  1. 直接运行高级编程语言(如Shell内置的解释器)
  2. 转换高级编程语言码到一些有效率的字节码(Bytecode),并运行这些字节码
  3. 以解释器包含的编译器对高级语言编译,并指示处理器编译后的程序, 如JIT

优缺点

例子

C/C++属于编译型
Java部分算作解释型

对比

解释-直译-编译

参考

https://segmentfault.com/a/1190000007536521
https://zh.wikipedia.org/zh-cn/%E7%B7%A8%E8%AD%AF%E5%99%A8
https://zh.wikipedia.org/zh-cn/%E7%9B%B4%E8%AD%AF%E5%99%A8
https://zh.wikipedia.org/wiki/%E5%8D%B3%E6%99%82%E7%B7%A8%E8%AD%AF

上一篇 下一篇

猜你喜欢

热点阅读