一个编译原理的问题,讨论讨论.

robter5611 2003-07-12 08:04:10
都说汇编语言写的程序比其他语言写的程序执行效率要高,也要比其他语言写的要小.
我就有一点想不通了.
不管什么语言写的程序都要编译成机器语言才能执行.
汇编语言翻译成机器语言最简单.
如果高级语言写的程序真的不如汇编写的程序的话,那么为什么不先把他翻译成汇编程序然后再编译呢?我相信构件一个从高级语言到汇编语言的编译器不是很难.
请各位大侠指教!
...全文
46 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
robter5611 2003-07-20
  • 打赏
  • 举报
回复
多谢各位老大!
bluedodo 2003-07-14
  • 打赏
  • 举报
回复
有道理
zxy1492 2003-07-14
  • 打赏
  • 举报
回复
^_^
zxy1492 2003-07-14
  • 打赏
  • 举报
回复
哦,偶明白了一点.
神农氏 2003-07-14
  • 打赏
  • 举报
回复
一般最好的编译器也没有人工写的汇编代码的效率高(当然前题是你用的好)。编译器在生成机器码时会生成很多无用的代码。
redolive 2003-07-13
  • 打赏
  • 举报
回复
建议楼主先找本编译原理的书看看。
机器翻译的冗余代码很多,即使经过多次优化其效率也不能和人工直接编写的代码相比。
更何况,现在很多高级语言并不是直接就翻译成汇编语言, 或许会先翻译成其他的中间语言。
Alecksun 2003-07-13
  • 打赏
  • 举报
回复
大部分编译程序是是先翻译成汇编的。
但你说是机器给你翻译出来的汇编代码紧凑呢,还是你亲手写的汇编代码紧凑?
当然是你亲手写的代码紧凑且效率高啦!
robter5611 2003-07-13
  • 打赏
  • 举报
回复
既然如楼上所说:
汇编语言写的程序确实比其他语言写的程序执行效率要高,也要比其他语言写的要小.

那么将高级语言先翻译成汇编语言在编译,只是编译时间长了点,以后程序的执行效率要高得多。
那有何乐而不为呢?
紫郢剑侠 2003-07-13
  • 打赏
  • 举报
回复
汇编语言写的程序确实比其他语言写的程序执行效率要高,也要比其他语言写的要小.

但汇编是低级语言, 难写难读难维护, 开发效率低,可移植性差, 于是有了高级程序设计语言.

高级语言写的源程序要想被执行,有两种方法, 一种是编译, 一种是解释.

我们写程序的目的是要得到可执行的程序, 所以没有必要先把它翻译成汇编源程序然后再编译,我们要的是结果, 而不是其过程.

当然有些编译器可以生成与高级语言源程序相对应的汇编程序, 比如TC2.0 中的TCC编译器.
swimmer2000 2003-07-13
  • 打赏
  • 举报
回复
有相当一部分程序是翻译成汇编的

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧