900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 高级语言到机器语言的过程 三种翻译工具的辨析

高级语言到机器语言的过程 三种翻译工具的辨析

时间:2024-04-08 22:16:00

相关推荐

高级语言到机器语言的过程 三种翻译工具的辨析

源程序:用源语言写的,有待翻译的程序。比如C语言、C++语言、JAVA等

目标程序:.obj文件,源程序通过翻译程序加工以后,生成的机器语言程序,内容是二进制代码。

程序库:程序库中放着一些程序常用的、基本的功能,比如把信息送到显示器。这件事已经有相应的二进制代码模块放进程序库。

高级语言打包配套的工具集:编译器、程序库。

如上图所示,我们写的程序是需要将自己写的目标程序(编译生成的)和程序库中被调用的函数片段连接在一起,得到的程序才是完整的可运行的程序。

通俗的说,高级语言都需要经过翻译,才能转换成机器语言。那么我们完成这个过程借助的工具便是翻译工具。翻译工具分类如下:

汇编程序:把汇编语言写的指令翻译成二进制代码。编译程序:将高级语言代码翻译成二进制代码。这一步要用的就是编译器,也叫编译环境或者编译工具。解释程序:作用是将高级语言翻译成机器指令,既然作用相同,那么它与编译程序的区别在于什么?编译程序是在全部代码编辑完成以后,将整篇代码进行编译,然后生成obj文件。下一步若生成可执行文件,则继续链接。当程序需要重复运行时,不需要重新进行编译了。运行可执行文件即可。相比之下,而解释程序是在脚本文件中翻译一条指令,就立即送去执行一条,如此直到代码执行完毕。如果下次再次执行,还是需要重新进行逐句翻译。

做个总结:解释程序运行代码时,执行效率很低,每次都要一遍翻译一遍执行。相比于编译生成的代码,它的代码执行效率更高,因为每次运行不要进行翻译了,直接运行即可。

那么既然解释程序运行效率如此之低,为什么还要使用它?

Java程序就是半编译,半解释型语言,这样做的目的是为了跨平台。对于windows,MAC,linux系统来说,不同系统所能运行的可执行程序是不同的,也就是说他们有各自的编译、连接过程去形成可执行程序。这就是为何一个软件会有windows,MAC,linux三种版本的安装包。

然而,Java还有一个特别之处,就是他可以到处执行,一次编写多次执行。他的原理是将java编译成一种中间的二进制语言。这个语言是给java虚拟机用的。虚拟机就是装在系统上,用软件模拟的机器。不同系统的java虚拟机是一样的,他们会将中间二进制代码再进行解释,转换成本地系统可以识别和执行的指令。

话说回来,C++语言是用编译器直接编译,在本地生成可执行程序的语言。

C++语言的开发过程:

1.算法与程序结构设计

2.源程序编辑

3.编译

4.连接

5.测试(使用某些测试方法)

6.调试(针对第五步找到错误原因,修正错误)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。