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加载资源。
进一步阅读:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句