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

文章目录

  • 一、
  • 二、编译执行过程如下:
  • 三、解释执行:shll脚本
  • 四、高级语言要执行就必须先翻译成低级语言,翻译的方法有两种--编译和解释
  • 五、程序中的bug分为几类?

from

一、

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

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

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

二、编译执行过程如下:

编译执行和解释执行的区别_第2张图片

三、解释执行:shll脚本

编译执行和解释执行的区别_第3张图片
编译执行和解释执行的区别_第4张图片

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

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

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

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

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

(2)运行时错误
编译执行和解释执行的区别_第5张图片
(3)逻辑错误和语义错误

编译执行和解释执行的区别_第6张图片
参考:

你可能感兴趣的:(Linux,C一站式开发)