为什么汇编语言编出来的程序要比高级语言编出来的执行效率高

不管什么语言写出的程序都会编译连接成二进制代码的.exe可执行文件,那么为什么汇编语言写出的程序执行速度要比高级语言写的程序执行速度快呢???以下是ESETNOD32官方... 不管什么语言写出的程序都会编译连接成二进制代码的.exe可执行文件,那么为什么汇编语言写出的程序执行速度要比高级语言写的程序执行速度快呢???
以下是 ESET NOD32 官方宣传:
最快的扫描
强大的安全防护绝不拖慢计算机。ESET NOD32是用大量的汇编语言编写而成,因其最快的侦测速度和高效的查杀能力而连续地获奖,平均比其竞争对手快3到34倍(源自: Virus Bulletin)。选择ESET NOD32可提升您的计算机性能。
展开
 我来答
citizen1900
2010-07-24 · TA获得超过206个赞
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
这个没有一定的说法,取决于编译器的聪明程度。
一般的语言,如C语言是首先将C语言编译为汇编,然后汇编转为机器码。而用汇编的写则是直接由汇编到机器码。那么这两者的速度差异取决于编译器在编译的时候产生的汇编码是否比程序员手写的更为高效和快速了。
早期的时候编译器很差,产生的汇编码没有程序员手工写的高效,而现在编译器大大的聪明了,所以这两者的速度是很难讲的。
不过大部分情况下,编译器翻译的都要差,所以速度没有手工写的汇编码快。加上JAVA、c#语言等先要转成一个中间语言,再翻译成汇编码,这个就更差了。
bandaojun
2010-07-25 · TA获得超过720个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:340万
展开全部
汇编语言编译后直接面对机器语言,算法直接。高级语言能实现功能,但在内部执行时走弯路,所以时间慢。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_fmlyht
2010-07-24 · TA获得超过2359个赞
知道大有可为答主
回答量:2398
采纳率:0%
帮助的人:1822万
展开全部
因为汇编可以直接操纵硬件,省略很多冗余的指令,可以进行位操作,有些功能用高级语言实现起来很麻烦(不是指源代码),尤其是那些不支持位操作的高级语言,而用汇编就很简单了

当然,代价就是牺牲移植性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fairy_child
2010-07-25 · TA获得超过231个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:59.3万
展开全部
高级语言代码--->汇编代码--->机器指令,通常的编译软件就是这么一个流程,在编译的过程中多少都会产生冗余代码,从而降低效率,你可以用C写几个最简单的语句编译后再用debug反编译做比较就能看出来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式