一、DLL
动态链接库英文为DLL,是Dynamic Link Library的缩写。DLL是一个包含可由多个程序,同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32.dll 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现"打开"对话框。这有助于避免代码重用和促进内存的有效使用。 通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个计帐程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。(转自360百科)
二、托管DLL和非托管DLL
托管DLL可以公共语言运行库(Dotnet)中执行,可以获得它提供的资源,比如说垃圾回收等;非托管DLL不能在公共语言运行库中执行,需要手动回收:托管DLL与非托管DLL的详细解释
托管DLL文件,可以在Dotnet环境通过 “添加引用” 的方式,直接把托管DLL文件添加到项目中。然后通过 Using DLL命名空间,来调用相应的DLL对象 。
非托管DLL文件,在Dotnet环境应用时,通过 DllImport 调用。
三、调用非托管DLL
(补充:
F7编译。
调用DllImport时,要采用using System.Runtime.InteropServices;的命名空间。
)