编译型语言和解释型语言

      计算机底层只能识别0、1序列的机器码,所有高级编程语言最终都要转换成计算机识别的0、1序列机器码。将代码转换为机器码的方式分为两种,一种是编译型,一种是解释型。

编译器

      将源代码编译成目标代码。

解释器

      解释执行源代码,程序在运行时需要解释器边解释边执行。

编译型语言

      编译型语言是指程序在执行之前需要一个专门的编译过程,把源文件编译成机器语言的文件,运行时不需要重新编译,执行效率高。缺点是编译型在编译后生成的可执行文件,是相对于本机机器指令集的,所生成的可执行文件移植到不同机器指令集的机器上,不一定能正常运行。
      源代码——>机器语言
      例如:C语言需要将后缀为.c的源文件通过编译、链接为后缀为.exe的可执行文件,才能运行。

解释型语言

      在运行时由翻译器将高级语言代码翻译成易于执行的中间代码,并由解释器(例如浏览器、虚拟机)逐一将该中间代码解释成机器码并执行。
      源代码——>中间代码——>机器语言
      如Java文件先编译成与平台无关的.class的字节码文件,然后由类加载器加载到JVM中,JVM从.class的字节码文件中读出一条指令,解释成对应平台的机器码执行。如下图所示。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值