资源描述:
《vb调用vc创建的dll及在控制领域中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VB调用VC创建的DLL及在控制领域中的应用第7卷第2期2007年6月温州职业技术学院JournalofWenzh0UVocati0nal&TechniCa1Co11egeVoI.7No.2Jun.2007VB调用VC创建的DLL及在控制领域中的应用薛燕红(陕西理工学院计算机科学与技术系,陕西汉中723003)[摘要]VB虽然强大,但要对计算机的底层硬件进行访问却无能为力.由于Vc++同时具有汇编语言和高级语言的功能和特点,能够直接控制硬件,因此,可以使用vC十+编写一个DLL,库中包含有关对硬件控制的函数,然后在vB程序中通
2、过调用DLL中的函数未完成控制行为,使VB对硬件的操作成为可能.【关键词】DLL;VB;VC十+;调用【中图分类号】TP311.1【文献标识码】A【文章编号】l671—4326(2007)02—0034—03DLLFoundedbytheCallofVBtoVCanditsApplicationinControlDomainXUEYah—hongrConzputerScienceaimTeclvtologyDeparonent,Sl,u~vciUniversityofTedmology,HcmzJwng,723003,Chil~t)A
3、bstract:VisualBasicispowerful,however,itcandonothinginvisitingthebottomhardwareofacomputer.BecauseVC++hasthefunctionofassemblinglanguageandadvancedlanguageitcancontrolthehardwaredirectly,Therefore.VC++canbeusedtogenerateaDLLthatincludessomefunctionsconcerningthecontrolo
4、fthehardware.TheninVBprogram,thesefunctionscanbecalledtocontrolthehardwareandconducttheperformanceofVBtoit.Keywords:DLL;VB;VC++:CallO引言ViSualBaSiC(VB)是当今应用最广泛的编程语言之一,是一种可视化的软件开发工具.自面世以来,倍受广大编程人员的青}崃.但与其它任何一种语言一样,VB也有其自身的不足.如在工业控制中对计算机的底层硬件进行访问以及利用各种控制接口板进行数据采集时,仅靠VB是无法解
5、决的.为解决类似的问题,可以间接他用动态链接库(I】IL)来实现.由于VC++同时具有汇编语言和高级语言的功能和特点,能够直接操纵硬件,因此,可以使J11vC++编写一个DLL,库中包含有关对硬件操纵(例如串行或并行端15I)的函数,然后在VB程序中迎过声明DLLr{
6、的函数并提供DLL路径米渊邢这些函数,完成控制行为,使VB对硬件的操作成为可能.不仅如此,采月J这种方式,还可以通过训用DLL的方式实现应川程序共享代码和资源,降低软件运行时占用的系统资源,有利于系统的稳定性.1动态链接库(DLL)概述1.1动态链接与静态连接动态链接是
7、相对于静态连接而言的,我们通常讲的静态连接是指在应用程序的编译期把需要的过程或函数链接到可执行文件中,成为可执行文件的一部分,当应用程序调入内存时,过程或函数也同时被调入了内存;而动态链接却在应用程序运行期动态的调入连接代码,当退出动态链接库时,动态链接i'-t~5同时也被释放,在32位的操作系统中,系统保证内存中只有一个DLL.当DLL被多个进程调『1】时通过内存映射文件使得每一个进程得到一份DLL的映像.如Win—dows98中的Kernel32.DLL,User32.DLL和Gdi32.DLL,用户的许多操作都用到以上三个基本的
8、DLL文件【J1.1.2DLL的优势(1)实现代码和资源的共享.DLL代码不仅可以在所有支持DLL技术的Wind0wS应用程序中共享并[收稿日期]2006-10-l6[作者简介]薛燕红(1962~),男,山西临县人,陕西理工学院计算机科学与技术系讲师,工程师第7卷第2期薛燕红:VB调用VC创建的DLL及在控制领域中的应用且可以在其它支持DLL技术的开发工具,:p~ffl,如VB,文件和.DEF文件.VFP,PowerBuilder等.2.1建立DLL的Vc++源程序(.CPP)(2)应用程序动态ngiJ~用链接代码,当退出动态链接时,
9、其代码同时被释收,火大减少了系统消耗,提高了程序执行速度.(3)隐藏了动态链接代码的实现细节,有效地保护了程序某些关键技术的实现细节,有利于维护开发者的利益.(4)将一些功能模块做成DLL以后,如果需要对系统进行升级,只