相关服务

  • 《应用科技》2006年第5期摘录:第33卷第5期2006年5月应

如发现有乱码,请点击下面链接浏览原文
正文摘录:

第33卷第5期2006年5月应用科技AppliedScienceandTechnologyV01.33.No.5Mav2006文章编号:1009—671X(2006)05—0037—03VC++中动态和静态连接库的实现王桂如,章慧君(哈尔滨工程大学自动化学院,黑龙江哈尔滨150001)摘要:在比较大的应用程序中,为了实现分工协作和编程的便利,通常将程序分成几个模块.每个模块相互独立,相互协调来完成整个的工程.用户模块可以分为静态连接库和动态连接库.介绍了静态连接库和动态连接库的不同,以及它们的优缺点,并重点研究了动态连接库的实现方法.比较全面地介绍了静态连接库和动态连接库在VC中的具体实现支持.最后,编程实现并分别在VB和VC中应用了DLL,实际的应用过程表明,这种模块化方法降低了编程的复杂性,并有利于阶段性的单元测试.关键词:静态连接库;动态连接库中图分类号:TP311.52文献标识码:ARealizationofdynamicandstaticlinklibraryinVC++WANGGui—ru,ZHANGHui-jun(SchoolofAutomation,HarbinEngineeringUniversity,Harbin150001,China)Abstract:Forthecollaborationandconvenienceinprogramming,abigapplicationprogramisusuallydividedintoseveralusermodules,whichareindependentofeachother,andworkincollaborationwitheachother.TheusermodulescanbeclassifiedintoStatic—linkLibraryandDynamic—linkLibrary(DLL).Herethedifferencesbetweenthemandtheiradvantaffesanddisadvantagesareintroduced.TherealizationmethodofDLLinVC++isparticu—larlystudied.Thesuppo~toimplementtheStatic—linkLibraryandDynamic—linkLibraryinVCisfullydemonstra—ted.Lastly,aprogramiscompliedtoapplyDLLinVBandVC.Theapplicationprocessindicatesthatthismethodreducesthecomplicacyofprogrammingandisbeneficialtostagedunittest.Keywords:static—linklibrary;dynamic—linkLibrary;用户模块都是应用程序中提供某一特定功能的函数和类的集合.当一个程序有许多用户模块组成时,其他的用户往往并不关心模块的内部实现,他只是想把它作为一个黑匣子使用,模块使用者并不希望看到源代码.同时,使用模块还可以避免模块的函数名、变量名与最终用户的程序上的冲突.用户模块可以分为静态连接库和动态连接库¨0.1静态连接库的特点静态连接库提供了函数的完整的目标代码,如果程序调用静态连接库中的函数,则在进行连接时,连接程序将静态连接库中所包含的该函数的代码拷贝至运行文件中.由于静态连接库将目标代码连接到应用程序中,当程序运行时,如果多个程序调用了同一静态库中的函数,内存中将出现该函数的多份拷贝.但是,静态库由于将目标代码连人应用程序中,所以应用程序可独立运行.VC中“Win32StaticLibrary”用于创建静态连接库,使用时只要将m。.1ib和。。.h两个文件拷贝到相应的目录下,并在具体使用的位置包含静态连接库的头文件即可r20.2动态连接库的特点动态连接库是Windows应用程序的重要组成部分,当执行某一可执行程序时,动态连接库不直接连接到应用程序中,而是在运行时动态装载,并把收稿日期:2005—05—21.作者简介:王桂如(1980一),女,硕士研究生,主要研究方向:导航制导及其自动化,E—mail:myruru2005@yahoo.coin.Cll

阅读此文(图):   点击此处在线翻阅