考试网 >> IT认证 >> 等级 >> 等级动态 >> 汇编语言教程之七

汇编语言教程之七

发布时间:2006-07-25 11:56     点击:
分页:上一页  1 2 3 [4] 5 6 7 8 9 10  下一页  后10页



好的,现在,假定你已经使用了已知最好的算法,决定把它交给编译器,让我们来看看编译器会为我们做什么,以及我们是否有机会插手此事,做得更好。





5.1 循环优化:强度削减和代码外提



比较新的编译器在编译时会自动把下面的代码:



for(i=0; i<10; i++){

  j = i;

  k = j + i;

}



至少变换为



for(i=0; i<10; i++);

j=i; k=j+i;



甚至



j=i=10; k=20;



当然,真正的编译器实际上是在中间代码层次作这件事情。





原理
如果数据项的某个中间值(程序执行过程中的计算结果)在使用之前被另一中间值覆盖,则相关计算不必进行。



也许有人会问,编译器不是都给咱们做了吗,管它做什么?注意,这里说的只是编译系统中优化部分的基本设计。不仅在从源代码到中间代码的过程中存在优化问题,而且编译器生成的最终的机器语言(汇编)代码同样存在类似的问题。目前,几乎所有的编译器在最终生成代码的过程中都有或多或少的瑕疵,这些瑕疵目前

只能依靠手工修改代码来解决。



5.2 局部优化:表达式预计算和子表达式提取


分页:上一页  1 2 3 [4] 5 6 7 8 9 10  下一页  后10页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有