目录
一、前言
DLL(Dynamic Link Library,动态链接库)和EXE(Executable, 可执行文件)是两种不同类型的文件格式,主要用于不同的目的。
DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。
二、用途:
2.1、EXE:
EXE文件是可执行文件,可以直接运行。它包含了程序的入口点(通常是main函数),操作系统可以加载并执行这个文件。
2.2、DLL:
DLL文件是动态链接库,不能直接运行。它们包含了一些可以被其他程序调用的函数和资源。DLL文件通常用于共享代码和资源,以便多个程序可以重用相同的功能。
所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。
动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码。
2.3、用途总结
1、扩展应用程序
由于DLL能被应用程序动态载入内存。所以,应用程序可以在需要时才将DLL载入到内存中,这让程序的可维护性变得很高。比如QQ的视频功能需要升级,那么负责编写QQ的程序员不必将QQ所有代码都重写,只需将视频功能相关的DLL文件重