程序和DLL文件

一个软件的所有功能,可以只在一个单独的exe程序文件中实现,但这样的文件会很大,调用时不管它用得着用不着的功能全部加载到内存中,太浪费系统资源。而且只有一个程序文件,升级或改错都很麻烦;某个功能的修改,可能导致整个软件要重创一次。

微软解决这一问题的办法就是将大软件分成许多小的DLL文件模块,每个DLL各司其职,比如a.dll只负责显示窗口界面,b.dll文件只负责后台数据处理,最后由一个很小的exe可执行程序统一调用。

DLL文件存在windows系统和应用程序文件中;

DLL:dynamic link library动态链接库:

一个软件的所有功能,要以只在一个单独的EXE文件中实现。但这样的程序文件会很大,调用时不管它用得着用不着的功能全被加载到内在中,太浪费系统资源。而且只有一个程序文件,升级或改错也很麻烦,某个功能的修改,可能导致整个软件都要重新创建一次;

微软解决这一问题的办法就是把大软件分成许多小的DLL模块文件,每个DLL各司其职,比如a.dll只负责显示窗口界面,b.dll只负责后台数据处理等,最后由一个很小的exe可执行程序统一调用;

是windows基石,通过系统和其它应用程序调用时发挥作用,将程序代码封闭成函数,被动态载入内存,可以扩展应用程序,便于升级,便于程序员合作,节省内存,解决应用程序本地化问题,有点类似于操作系统与驱动的分开设计,方便升级及共享程序资源;

DLL只有在程序需要时才会加载,而不会随EXE文件一起驻留内存,减少系统资源的占用。DLL本身不是一个程序,是由多个功能函数组成的,rundll.exe可以运行那些不作为程序单独运行的DLL文件;如:cmd:rundll32.exe shell32.dll,control_rundll,即可以打开控制面板;

DLL文件模块

一个软件的所有功能,可以只在一个单独的exe程序文件中实现,但这样的文件会很大,调用时不管它用得着用不着的功能全部加载到内存中,太浪费系统资源。而且只有一个程序文件,升级或改错都很麻烦;某个功能的修改,可能导致整个软件要重创一次。

微软解决这一问题的办法就是将大软件分成许多小的DLL文件模块,每个DLL各司其职,比如a.dll只负责显示窗口界面,b.dll文件只负责后台数据处理,最后由一个很小的exe可执行程序统一调用。

DLL只有在程序需要时才会加载,而不会随EXE文件一起驻留内存,减少系统资源的占用。DLL本身不是一个程序,是由多个功能函数组成的,rundll.exe可以运行那些不作为程序单独运行的DLL文件;如:cmd:rundll32.exe shell32.dll,control_rundll,即可以打开控制面板;