「14.动态链接库编程」1.动态链接库简介

小微 科技「14.动态链接库编程」1.动态链接库简介已关闭评论109字数 1012阅读模式
摘要1.动态链接库简介1.1 动态链接库动态链接库是一些编译过的可执行程序模块,包含代码、数据或资源,可以在应用程序或其他动态链接库中调用。动态链接库的文件扩展名一般为 .dll,也可...

1.动态链接库简介1.1 动态链接库

动态链接库是一些编译过的可执行程序模块,包括代码、数据或资源,可以在利用程序或其他动态链接库中调用。动态链接库的文件扩大名通常是 .dll,也能够是 .drv(装备驱动程序)、.sys(系统文件)以及.fon(字体文件)。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

DLL 利用广泛,可以实现多个利用程序同享代码以及资源,是 Windows 程序设计中的一个无比重要的组成部份。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

1.2 动态链接库工作原理文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

静态链接:在程序链接时将库中的代码复制到可执行文件中。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

当多个一样的程序执行时,系统中保存了许多重复的代码副本,造成为了内存资源的挥霍。如果使用动态链接库,当树立利用程序的可执行文件时,则无须将 dll 链接到程序中,而是在利用程序运行时动态地装载 dll,装载时 dll 将被映照到过程的地址空间中。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

因而,使用 dll 其实不是把库代码复制出来,而是在程序中记录了函数的入口点以及接口,在程序执行时才将库代码装入内存。所以,不管多少程序使用了 dll,内存中都只有该 dll 的一个副本。当没有程序使用它时,系统将它移出内存,减少了对内存以及磁盘的请求。所以,使用 dll 的一个益处就是可以节省系统资源。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

动态链接库尽管属于 windows 可执行文件,但它不是 exe 文件,不像 exe 文件那样可以直接执行,dll 文件中包括可执行代码是由 exe 文件调用的。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

1.3 动态链接库的特色文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

动态链接库最大的特色就是它的代码在运行期间被动态地链接至调用它的程序中,不用重复编译或链接,一旦装入内存,dll 函数可以被系统中的任何正在运行的利用程序使用,它们同享该 dll 函数的单一拷贝。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

dll 中一般由程序通用的进程、函数等形成,固然,也能够包括各种资源。使用 dll 的 exe 在编译时,编译器将把程序顶用到的 dll 文件中的例程(函数、进程)、数据等树立一个列表放在 exe 中。也就是说,在创立 windows 利用程序时,链接进程其实不把 dll 文件中的例程链接到程序上,只有当 exe 文件运行时并需要调用一个 dll 文件中的函数或进程时,windows 才在 dll 中寻觅被调用函数并把它的地址传递给调用程序。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14572.html

dll 独立于编程语言,也就是说,用某种语言编写的 dll 文件可以被其他语言调用。

对 dll 文件的进级以及更新是以及利用程序无关的,任何进级均可以自动传布到所有调用该 dll 的利用程序中。

以上就是微观生活(93wg.com)关于“「14.动态链接库编程」1.动态链接库简介”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/14572.html