dll、exe、lib的区别

dll

动态链接库(Dynamic Link Library,缩写DLL)

一般其文件扩展名为.dll,其中封装了一些可以被共享的例程和资源,是在windows系统中实现共享函数库概念的一种实现方式

exe

OS/2、MS-DOS和Windows系统中通用的可执行文件的扩展名

lib

静态链接库,(Statically Linked Library,缩写lib)

其通常包含许多自定的变量与函数等

区别

dll动态链接库是相对于静态链接库而言的,dll和lib中均含有可执行代码但不能单独运行,需链接至可执行文件才可运行。

静态链接就是在编译期间由编译器与链接器将静态链接库集成至应用程序内,并制作成可以独立运行的可执行文件,也就是说生成的文件中包含了lib中的所有代码,当多个程序需使用该库中的函数时,会在内存中出现多个相同函数的拷贝。

动态链接则是在程序运行期间进行,当程序需调用dll中的某些函数时,windows会把dll加载进内存,但程序仅获取dll中相应函数在内存中的地址等信息,根据该地址信息转而执行动态链接库中的函数代码,节约内存空间。

参考链接:

wiki动态链接库

wiki静态链接库

https://blog.csdn.net/kinglee0531/article/details/5954639

posted @ 2022-05-16 23:14  涅莫涅  阅读(959)  评论(0)    收藏  举报