编译型语言和解释型语言理解和区别

本文详细对比了编译型和解释型语言的特点,编译型语言通过一次性编译生成可执行文件,运行效率高但移植性差;解释型语言则在运行时逐行解释,灵活性好但效率较低。C、C++为典型编译型语言,Python为典型解释型语言。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译型和解析型区别是什么?
知乎上有个神比喻,编译相当于做好一桌菜再开吃;解析就是吃火锅,解析执行效率会低一些,因为要一边煮一边吃哈哈哈哈哈。。。。。
简单的说,编译的时候编译器会把源文件处理一遍,生成一个目标文件。解析就是边处理源文件边执行。

一、什么是编译型语言和解释型语言?

计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:

  • 编译
  • 解释

由此高级语言也分为编译型语言和解释型语言

二、编译型语言

使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

  • 特点
    在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。

  • 总结
    (1)一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;
    (2)与特定平台相关,一般无法移植到其他平台;
    (3)现有的C、C++、Objective等都属于编译型语言

在这里插入图片描述

三、解释型语言

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。

  • 特点
    解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。

  • 总结
    (1)解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低;
    (2)只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;
    (3)Python等属于解释型语言。

在这里插入图片描述

参考:
https://blog.youkuaiyun.com/u012184539/article/details/81348780

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值