编译与解释的区别
**编译:**通过编译程序将源代码文件转换成另一种目标代码文件。
**解释:**通过解释和执行程序将源代码逐条解析并执行,不会生成目标代码。
**程序的两大组成:**逻辑+数据
  C语言程序经过编译程序(预处理、编译、汇编、链接)转换成二进制机器码。二进制机器码由CPU执行。由于不同类型的处理器指令集之间存在差异,二进制机器码只能在对应的处理器上运行。
  Java程序经过编译程序转换为Java字节码。Java字节码在Java虚拟机上执行。
  Shell程序由shell解释器逐条命令解释并执行。
  Python程序既可以通过Python解释器解释执行,也可以通过编译程序转换成Python字节码由Python虚拟机执行。
  编译型语言相比较于解释型语言可移植性较差,但执行效率较高。在编译型语言中C语言面向底层,执行效率较高,而Java面向对象,可移植性较强。
浙公网安备 33010602011771号