有关对各种语言的理解

博客探讨了计算机语言的层级关系,从机器语言到汇编再到高级语言,特别是C语言作为编译器基础的角色。解释了虚拟机如何实现跨平台运行,如Python和Java通过虚拟机将程序转换为特定指令集执行。同时,讨论了高级语言的移植性和编译过程,指出虽然汇编语言依赖于特定CPU架构,但通过编译器可以实现不同平台间的代码转换。此外,文章提到了C语言编译器的自我实现过程,即C0到Cn的逐步编译进化。
摘要由CSDN通过智能技术生成

有关我对各种语言(机器,汇编,高级(编译型,解释型))的理解(还望各位大佬能指出错误,最近在学这个基础):

对于机器语言不过多赘述,主要是后二者。
我们所说的C语言编译器最早是由汇编语言实现的,那么C语言作为一种低级语言,几乎是一切其他高级语言的基础,甚至可以说在计算机上运行的一切高级语言都是要成为C语言再转为汇编再转为机器语言执行的,例如用python或java写的程序之所以不需要进行编译操作是因为他包含了一个虚拟机,而虚拟机中包含自己的指令集(就相当于一个虚拟的CPU),然后他直接在自己的指令集里运行python或java程序,但是虚拟机的作用呢?依我看,它的作用其实就是一个间接性的编译器,但他相较于C语言编译器多了一个步骤,那就是先转换为C语言,再转为汇编……

另外,说高级语言移植型比汇编语言强。依我看,只不过是他中间多了一个用汇编语言写的编译器罢了,而汇编语言在不同架构的CPU是不同的,归根结底,就是先用这个架构的CPU的指令集写一个编译器,之后再实现跨平台写高级语言。
也就是说:
不同的机器语言–不同的汇编语言–使用不同汇编语言写的高级语言编译器–高级语言(跨平台)

另外有人说现在的C语言编译器由C语言和汇编语言共同完成。其实不然,这里说的C语言并非成品,而是说用汇编语言写的一个C0语言编译器,然后在使用这个C0语言与编译器共同完成C1语言编译器,然后再由Cn语言编译器和汇编语言完成最终的C语言编译器。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

頔珞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值