第一范文网 - 专业文章范例文档资料分享平台

VB调用指针教程与实例 

来源:用户分享 时间:2025/5/26 11:38:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

VarPtr 得到的内存地址 ObjPtr 是得到对象入口地址 StrPtr 字符串地址

呵呵有什么用呢?看到下面的文章相信你会有很大的收获的:)

题目:真没想到VB也可以这样用之指针技术 作者:不详,向作者致敬 来源:网络

想当年东方不败,黑木崖密室一战,仅凭一根绣花针独战四大高手,神出鬼没,堪称

天下武林第一高手。若想成

为VB里的东方不败,熟习VB《葵花宝典》,掌握VB指针技术,乃是不二的法门。

欲练神功,引刀……,其实掌握VB指针技术,并不需要那么痛苦。因为说穿了,也

就那么几招,再勤加练习,终可

至神出鬼没之境。废话少说,让我们先从指针的定义说起。

一、指针是什么?

不需要去找什么标准的定义,它就是一个32位整数,在C语言和在VB里都可以用

Long类型来表示。在32位Windows

平台下它和普通的32位长整型数没有什么不同,只不过它的值是一个内存地址,正是因

为这个整数象针一样指向一个

内存地址,所以就有了指针的概念。

有统计表明,很大一部分程序缺陷和内存的错误访问有关。正是因为指针直接和内存

打交道,所以指针一直以来

被看成一个危险的东西。以至于不少语言,如著名的JAVA,都不提供对指针操作的支持,

所有的内存访问方面的处理

都由编译器来完成。而象C和C++,指针的使用则是基本功,指针给了程序员极大的自由

去随心所欲地处理内存访问,

很多非常巧妙的东西都要依靠指针技术来完成。

关于一门高级的程序设计语言是不是应该取消指针操作,关于没有指针操作算不算一

门语言的优点,我在这里不

讨论,因为互联网上关于这方面的没有结果的讨论,已经造成了占用几个GB的资源。无

论最终你是不是要下定决心修

习指针技术《葵花宝典》,了解这门功夫总是有益处的。

注意:在VB里,官方是不鼓励使用什么指针的,本文所讲的任何东西你都别指望取

得官方的技术支持,一切都要

靠我们自己的努力,一切都更刺激!

让我们开始神奇的VB指针探险吧!

二、来看看指针能做什么?有什么用?

先来看两个程序,程序的功能都是交换两个字串:

【程序一】:

'标准的做法SwapStr

Sub SwapStr(sA As String, sB As String) Dim sTmp As String

sTmp = sA: sA = sB: sB = sTmp End Sub

【程序二】:

'用指针的做法SwapPtr

Private Declare Sub CopyMemory Lib \Alias \_

(Destination As Any, Source As

Any, ByVal Length As Long)

Sub SwapPtr(sA As String, sB As String) Dim lTmp As Long

CopyMemory lTmp, ByVal VarPtr(sA), 4

CopyMemory ByVal VarPtr(sA), ByVal VarPtr(sB), 4 CopyMemory ByVal VarPtr(sB), lTmp, 4 End Sub

你是不是以为第一个程序要快,因为它看着简单而且不用调用API(调用API需要额

外的处理,VB文档明确指出大

量调用API将降低程序性能)。但事实上,在VB集成环境中运行,程序二要比程序一快

四分之一;而编译成本机代码或

p-code,程序二基本上要比程序一快一倍。下面是两个函数在编译成本机代码后,运行不

同次数所花时间的比较:

运行100000次,SwapStr需要170毫秒,SwapPtr需要90毫秒。

运行200000次,SwapStr需要340毫秒,SwapPtr需要170毫秒。

运行2000000次,SwapStr需要3300毫秒,SwapPtr需要1500毫秒。

的确,调用API是需要额外指令来处理,但是由于使用了指针技术,它没有进行临时

字串的分配和拷贝,因此速度

提高了不少。

怎么样,想不到吧!C/C++程序员那么依赖指针,无非也是因为使用指针往往能更直

接的去处理问题的根源,更有

驾驭一切的快感。他们不是不知道使用指针的危险,他们不是不愿意开卫星定位无级变速

的汽车,只是骑摩托更有快

感,而有些地方只有摩托才走得过去。

和在C里类似,在VB里我们使用指针也不过三个理由:

搜索更多关于: VB调用指针教程与实例  的文档
VB调用指针教程与实例 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6huep2yhdl1xu1x81dzc4m0xd0pw4b00nik_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top