首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> VB -> 善用AssumeNoAliasing编译选项
善用AssumeNoAliasing编译选项


文章类别:VB 来源: 作者: 发表日期:2006-2-28 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

据说,如果过程能够2次或多次引用同样的内存地址,那么过程就会包含别名数值。一个典型的例子如下:

Dimg_GlobalVariableAsLong

...

SubProcWithAliases(xAsLong)

x=x 1

g_GlobalVariable=g_GlobalVariable 1

EndSub

如果传递给这个过程g_GlobalVariable变量,则将通过一个直接引用以及x参数两种方式修改变量的数值2次。

别名数值经常是不良编程习惯的产物,对于程序优化有害无益。事实上,如果能够完全确认应用程序从来没有使用到别名变量,就可以打开"AssumeNoAliasing"高级编译选项,这将告知编译器没有过程可以修改同一内存地址,使编译器产生更加有效率的汇编代码。更特别的是,编译程序将试图缓冲这些数据到CPU的寄存器中,从而明显地加速了程序运行。

总结一下,当遇到以下情况时,就不会有别名数值:(1)过程不引用任何全局变量(2)过程引用了全局变量,但从来不通过ByRef参数类型传递同一变量给过程(3)过程含有多个ByRef参数类型,但从来不传递同一变量到其中的2个或者多个之中。

->

上一篇:你真正理解AllowUnroundedFloatingPointOperations选项的含义吗? 下一篇:And、Or和Xor:让我们来优化表达式
本栏目热门文章
·用VB实现象Windows记事本的一些功能 2006-2-28
·DataGrid控件的使用 2006-2-28
·DataCombo和DataList控件的使用二 2006-2-28
·DataGrid控件的使用二 2006-2-28
·利用timeGetTime函数更精准地计算差 2006-2-28
·自己的IE——用VB制作浏览器 2006-2-28
·利用VBScript实现倒计时 2006-2-28
·用Winsock制作一套聊天室和对话系统 2006-2-28
·使用ADO來压缩或修复MicrosoftAccess文件 2006-2-28
·用VB尝试新的界面风格 2006-2-28
新近更新文章
·用VB实现象Windows记事本的一些功能 2006-2-28
·FLIC动画文件的播放程序设计 2006-2-28
·用VB实现浮动按钮 2006-2-28
·利用VB三维面板控件设计流动条 2006-2-28
·用VB制作即时动态按钮 2006-2-28
·用VB尝试新的界面风格 2006-2-28
·VB5.0中实现字体闪烁效果 2006-2-28
·VB5.0应用程序的启动与退出设计 2006-2-28
·用VB5.0创建Windows快捷方式 2006-2-28
·在VB中如何创建闪烁(标语)屏 2006-2-28
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: