Windows的动态链接库原理及利用1[VC/C++编程]
本文“Windows的动态链接库原理及利用1[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.Windows的动态链接库原理
动态链接库(DLLs)是从C语言函数库和Pascal库单元的概念发展而来的.全部的C语言尺度库函数都存放在某一函数库中,同时用户也可以用LIB程序成立自己的函数库.在链策利用程序的历程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码增添到可履行文件中.这
种办法同只把函数储存在已编译的.OBJ文件中相比更有利于代码的重用.
但随着Windows这样的多任务环境的呈现,函数库的办法显得过于负担.假如为了完成屏幕输出、消息处理、内存管理、对话框等操作,每个程序都不得不拥有自己的函数,那么Windows程序将变得非常宏大.Windows的发展要求答应同时运行的几个程序同享一组函数的单一拷贝.动态
链接库就是在这种情形下呈现的.动态链接库不用反复编译或链接,一旦装入内存,Dlls函数可以被系统中的任何正在运行的利用程序软件所利用,而没必要再将DLLs函数的另一拷贝装入内存.
1.1 动态链接库的工作原理
"动态链接"这几字指明了DLLs是若何工作的.关于通例的函数库,链接器从中拷贝它需求的全部库函数,并把切当的函数地址传送给调用这些函数的程序.而关于DLLs,函数储存在一个独立的动态链接库文件中.在成立Windows程序时,链接历程并不把DLLs文件链接到程序上.直到程
序运行并调用一个DLLs中的函数时,该程序才要求这个函数的地址.此时Windows才在DLLs中探求被调用函数,并把它的地址传送给调用程序.采取这种办法,DLLs到达了复用代码的极限.
动态链接库的另一个便利之处是对动态链接库中函数的改正可以自动转到达全部调用它的程序中,而没必要对程序作任何窜改或处理.
DLLs不但供应了函数重用的机制,并且供应了数据同享的机制.任何利用程序都可以同享由装入内存的DLLs管理的内存资源块.只包含同享数据的DLLs称为资源文件.如Windows的字体文件等.
以上是“Windows的动态链接库原理及利用1[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |