可可鱼可可鱼

收藏本站 投递作品
您现在所的位置: 主页 > top排名 >

动态库 是什么

归属类别:未知 发布时间:2020-01-08 13:23 录入:admin 热量值:
-
-

  

  首先,想要知道动态库,我们得了解C++/C以及计算机的一些背景知识。

  一般而言,在Windows下,*.dll文件就是动态库文件。用C++/C开发的程序,在发布的时候,会出现两种情况,第一,整个软件就只有一个文件,你只要双击那个exe文件,就可以运行。第二,除了exe之外,还有dll等文件。在这里,我们假设的文件只有exe文件和dll文件, 不讨论什么图标之类文件。

  只有一个文件的,库已经嵌到那个exe里面。而有很多dll文件的程序,库没有嵌入到exe里面。所以,你可以看一下,如果那个exe文件大小非常大,那就说明是静态链接,在开发的时候是使用静态库。如果那个exe非常小,那么一般是使用的动态库。

  那么问题来了,动态库与静态库相比优势又是什么。动态库节约内存,为什么这么说呢。假如两个类型的程序,如果他们都有一个共同使用的dll,那么在内存里面,只有一份,而不是两份。如果是使用了静态库,这会有两份,会有很大的浪费空间。

  当然,使用动态库还有需要注意的地方。比如,有两个名字一模一样的动态库Qtcore4.dll,但是呢,一个dll是用vs2010编译器生成的,一个是用vs2015编译器生成的。如果,exe使用的dll弄错的话,程序结果会不对或者其他奇葩的问题。

  你应该说的是动态链接库吧?库有动态链接库和静态链接库,动态链接库的代码改变,可以在不重新编译主程序的前提下直接运行,而静态库必须重新编译。这也是动态链接库的优点吧,windows系统就是成千上万个动态链接库组成的,像编程常见的uer32.dll,kernel32.dll等。

  您说的是动态链接库吗?就是为了让两个(或多个)程序同时能运行相同的一段函数而编写的文件,从而加快程序的运行速度

  动态库又称动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。Windows下动态库为.dll后缀,在linux在为.so后缀。

  

动态库 是什么

顶一下
(0)
0%
踩一下
(0)
0%