什么是编译器?什么是解释器?

什么是编译器?什么是解释器?

编译器

在计算机上运行的所有软件都是用某种程序设计语言编写的,在一个程序运行前,该程序首先需要被翻译成一种能够被计算机执行的形式,完成这项翻译工作的软件系统被称为编译器。

一个编译器就是一个程序,不同的编译器可以读懂它所对应语言编写的程序,并把该程序翻译成一个等价的,由另一种语言组成的程序,该程序一般是可以放在目标机器上的可执行的目标代码。

编译器的一个重要任务就是 报告它在翻译过程中发现的源程序中的错误。
编译器

目标程序

如果目标程序是一个可执行的机器语言程序,那么它就可以被用户调用,处理输入,并产生输出。
在这里插入图片描述

该目标程序是可以接受外部输入的,留有输入接口,不管是串口输入或是其他中断。
裸核或操作系统想要接受外部的输入,从本质上来讲,(都是)只能通过中断(不管是内部中断,外部中断,软件中断或者是串口输入中断等。)来接收外部输入的信息。

参见《轮询系统,前后台系统,多任务系统》

解释器

解释器是另外一种常见的程序语言处理器,它并不通过翻译的方式生成目标程序。从用户的角度看,解释器直接利用用户提供的输入,执行源程序中指定的操作。

解释器

总结

在把用户的输入映射成为输出的过程中, 使用编译器产生的目标程序所用的时间会比解释器短很多。
但是,使用解释器可以逐个语句的执行源程序,错误诊断效果通常比编译器更好。

扩展思考

debug(直译又叫去除臭虫)

对于工程项目程序调试时,我们可以单步运行,那在这一过程中,它必然使用了解释器。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiawucha159

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值