定义 用户模块是由用户自己开发的、可以加入到最终用户(包括用户本人和其他使用该模块的人)应用程序中提供某一特定功能的函数和类的集合。为了完成同样的工作,也可以向最终用户提供源程序。但是,使用用户模块有许多好处:首先是省去用户管理源代码的烦恼,用户许多情况下往往并不关心模块的内部实现,他只是想把它作为一个黑匣子使用。另外,模块的开发者有时候并不希望模块使用者看到源代码。还有,使用模块而不使用源代码还可以避免模块的函数名、变量名与最终用户的程序上的冲突。
用户模块的分类
用户模块可分为两大类:静态连接库和动态连接库。
静态连接库提供了函数的完整的目标代码,如果程序调用静态连接库中的函数,则在进行连接时连接程序将静态连接库中所包含的该函数的代码拷贝至运行文件中。
动态连接库是一个可执行模块,其包含的函数可以由Windows应用程 序调用以执行一些功能。动态连接库主要为应用程序模块提供服务。Windows内核的三个模块USER.EXE、KENERL.EXE和GDI.EXE实际上都是动态连接库,分别提供用户消息服务、进程管理、图形输出等服务。