DLL文件到底是什么,它们如何工作?

stalretretzel

DLL文件如何工作?其中似乎有很多,但我不知道它们是什么或它们如何工作。

那么,他们有什么关系呢?

布莱恩·邦迪

什么是DLL?

动态链接库(DLL)与EXE相似,但不能直接执行。它们类似于Linux / Unix中的.so文件。也就是说,DLL是MS共享库的实现。

DLL非常像EXE,因此文件格式本身是相同的。EXE和DLL均基于可移植可执行(PE)文件格式。DLL也可以包含COM组件和.NET库。

DLL包含什么?

DLL包含EXE或其他DLL使用的函数,类,变量,UI和资源(例如图标,图像,文件等)。

库类型:

在几乎所有操作系统上,都有两种类型的库。静态库和动态库。在Windows中,文件扩展名如下:静态库(.lib)和动态库(.dll)。主要区别在于静态库在编译时链接到可执行文件。动态链接库直到运行时才链接。

有关静态和动态库的更多信息:

尽管在计算机上通常看不到静态库,因为静态库直接嵌入在模块(EXE或DLL)内部。动态库是一个独立文件。

DLL可以随时更改,并且仅在EXE显式加载DLL时才在运行时加载。一旦在EXE中编译静态库,便无法更改。可以单独更新DLL,而无需更新EXE本身。

加载DLL:

程序在启动时,通过Win32 API LoadLibrary或当它是另一个DLL的依赖项时,将加载DLL。程序使用GetProcAddress加载函数或使用LoadResource加载资源。

进一步阅读:

请检查MSDNWikipedia以进一步阅读。也是这个答案的来源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章