首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高层编程语言与底层编程语言的关系

高层编程语言与底层编程语言的关系
EN

Stack Overflow用户
提问于 2015-10-07 22:48:09
回答 1查看 709关注 0票数 0

低级编程语言和高级编程语言之间有多大的联系?例如,汇编语言和C++在不同的层次上工作,但是,在这些级别之间存在什么样的逻辑呢?让我们假设我写了一个你好世界!用C++编程,我编译并运行它。为了使我的代码在汇编程序级别上更有效,我需要关心什么??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-08 02:47:18

去五金店,你可以找到横梁、木板、钉子、螺丝、砖头、灰泥和各种基本建筑材料。这些材料的组合可以建造狗屋、人民住宅、办公大楼、人行道、道路、邮箱等。

C/C++是房子,邮箱,储藏室。砖块、木板和钉子是机器语言。砖头和钉子这个词是一种汇编语言,用来描述材料的单个实例,并与之有一对一的关系。

当您使用一行高级代码时

代码语言:javascript
复制
a = b + c;

您不能以这种形式运行它,甚至不能真正解释它,因为解释器本身是一个由较小的部分组成的程序。一个编译器,不管是手工做的,还是从其他程序进化而来的程序,都被用来解释这一行高级代码,为每个变量分配寄存器或内存,并从指令集中的可用指令和指令的顺序中选择,创建一个处理器可以理解的程序,执行相同的功能任务。把这个问题交给100个人,你就可以得到从1到100个不同的解决方案,在处理器理解的指令集中,总有不止一种方法可以使功能等效于一个高级程序。

理想情况下,汇编语言只是处理器指令集的一种可读的、可写的形式,因此我们不必盯着机器代码的比特和字节。汇编程序是一个简单得多的程序,它将汇编语言助记符转换成机器代码,理想情况下是将一条asm指令转换成一条机器指令,但是汇编程序可以添加其他特性来使手工编程(甚至编译器生成asm)的任务更容易在人身上完成。

这些级别之间的“逻辑”是其他名为编译器、汇编程序和链接器的程序,它们将高级程序“转换”为低级的功能等效程序。处理器实际上只能执行低级别的操作。对于处理器来说,高级别的源代码仅仅是一小块数据,与书籍、网页、音频文件、视频等没有什么不同,如果没有能够解析这些数据的本地语言程序,就无法理解它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33003700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档