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

汇编语言教程之七

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

表达式预先计算非常简单,就是在编译时尽可能地计算程序中需要计算的东西。例如,你可以毫不犹豫地写出下面的代码:



const unsigned long nGiga = 1024L * 1024L * 1024L;



而不必担心程序每次执行这个语句时作两遍乘法,因为编译器会自动地把它改为



const unsigned long nGiga = 1073741824L;



而不是傻乎乎地让计算机在执行到这个初始化赋值语句的时候才计算。当然,如果你愿意在上面的代码中掺上一些变量的话,编译器同样会把常数部分先行计算,并拿到结果。



表达式预计算并不会让程序性能有飞跃性的提升,但确实减少了运行时的计算强度。除此之外,绝大多数编译器会把下面的代码:



// [假设此时b, c, d, e, f, g, h都有一个确定的非零整数值,并且,

// a[]为一个包括5个整数元素的数组,其下标为0到4]

a[0] = b*c;

a[1] = b+c;

a[2] = d*e;

a[3] = b*d + c*d;

a[4] = b*d*e + c*d*e; 



优化为(再次强调,编译器实际上是在中间代码的层次,而不是源代码层次做这件事情!):


分页:上一页  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.中国考题网 版权所有