编译执行和解释执行的区别

from<Linux C 一站式编程>

一、

在这里插入图片描述
说明:
(1)汇编语言和机器语言的指令是一一对应的
例如在第一条指令中,把 movl ?,%eax 这种格式的指令替换成机器码 a1 ? ,?表
示一个地址,在汇编指令中是 0x804a01c ,转换成机器码之后是 1c a0 04 08

(2)C语言的语句和低级语言的指令之间不是简单的一一对应关系,一
条 a=b+1; 语句要翻译成三条汇编或机器指令,这个过程称为编译(Compile)

(3)平台这个词有很多种解释,可以指计算机体系结构(Architecture) ,也可以指操作系统(Operating System) ,也可以指开发平台(编译器、链接器等)。
各种体系结构的计算机都有各自的C编译器,可以把C程序编译成各种不同体系结构的机器指令,这意味着用C语言写的程序只需稍加修改甚至不用修改就可以在各种不同的计算机上编译运行。

二、编译执行过程如下:

在这里插入图片描述

三、解释执行:shll脚本

在这里插入图片描述
在这里插入图片描述

编译执行和解释执行各优缺点

  • 由于少了编译过程,解释型语言开发调试的周期更短;由于不需要生成机器指令,解释型语言平台无关性更好;
  • 解释型语言的执行效率不如编译型语言,因为在运行时还要解释源代码或中间代码,而编译型语言的程序在运行时没有这个负担。

四、高级语言要执行就必须先翻译成低级语言,翻译的方法有两种--编译和解释

五、程序中的bug分为几类?

(1)语法错误:语法错误是最简单最低级的错误,编译器的错误提示也就那么几种。相比下面两种错误,语法错误解决起来要容易得多。

(2)运行时错误
在这里插入图片描述
(3)逻辑错误和语义错误

在这里插入图片描述
参考:<Linux C一站式编程>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

喜欢打篮球的普通人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值