介绍
DLL中文名称为:动态链接库英文为DLL*,是Dynamic Link Library*的缩写。是一个包含可由多个程序,同时使用的代码和数据的库。比如包含ActiveX控件(.ocx)、控制面板(.cpl)、设备驱动程序(.drv)甚至自己开发的类。可以在windows系统内看到DLL文件
DLL依赖项
DLL只是一个独立的文件,不能直接执行,也不能接受消息。需要在程序或者其他DLL调用。不过某个程序在调用DLL时,会创建依赖项,所以该程序不再是独立的,如果该依赖项被破坏,程序就会遇到问题。比如DLL升级、DLL版本覆盖、DLL删除,会造成DLL冲突,如果没有强制实现向后兼容性,则该程序可能无法成功运行
注意事项
DLL 只有在应用程序需要时才被系统加载到进程的虚拟空间中,成为调用进程的一部分,此时该 DLL 也只能被该进程的线程访问,它的句柄可以被调用进程所使用,而调用进程的句柄也可以被该 DLL 所使用。
在内存中,一个 DLL 只有一个实例,且它的编制与具体的编程语言和编译器都没有关系,所以可以通过 DLL 来实现混合语言编程。 DLL 函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。
DLL创建及调用
创建名称为DLLTest的DLL,在DLLTest创建类,并定义方法,然后在主程序中调用。
1.新建控制台项目DLLMain
2.创建类库DLLTest
2.定义方法。定义方法Hello。
3.生成DLLTest动态库。点击生成—生成DLLTest
4.在控制台项目DLLTestMain引用DLLTest动态库。
5.在控制台项目DLLTestMain调用DLLTest动态库方法。