回 帖 发 新 帖 刷新版面

主题:为什么高级语言可移植性强于汇编

这虽是个常识。汇编语言转化成对应cpu的机器码,而高级语言同样要编译成机器码,为什么后者产生的机器码能适应不同的cpu呢?难道编译程序事先要判断所在的机型再产生对应的机器码吗?

请一定要指教啊

回复列表 (共2个回复)

沙发

汇编语言说抽象点就是机器语言,它与机器语言不同的是把机器语言的0  1  代码用注记符号来表示,。和机器语言是一一对应的,程序都是用指令来完成的,很多CPU的指令系统都不一样啊。所以不能跨越硬件,比如32位CPU有的指令有些16位CPU没有。怎么移植啊?

板凳

这个问题我还没有仔细地想过。

我只是知道,高级语言编译后得到地目标代码,可以根据机器地具体情况转换成可执行代码。因为高级语言和可执行代码之间多了一层,移植时在该层上做文章就可以了,平台的改变,影响的是中间这一层,而不会影响高级语言的代码。

可能原因就是这样的吧。

我来回复

您尚未登录,请登录后再回复。点此登录或注册