C#中DLL调用资料整理
2016-03-03 11:51
295 查看
一、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
调用dll详解
创建dll并调用实例
(补充:
F7编译。
调用DllImport时,要采用using System.Runtime.InteropServices;的命名空间。
)
动态链接库英文为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
调用dll详解
创建dll并调用实例
(补充:
F7编译。
调用DllImport时,要采用using System.Runtime.InteropServices;的命名空间。
)
相关文章推荐
- C# 多态性
- C#封装
- LINQ to Entities 不识别方法 xxx,此该方法无法转换为存储表达式
- WPF学习开发客户端软件-任务助手
- c#将正则截取到的数据保存到实体中
- 老蜗牛写采集:一个漂亮的客户端-几个C#平台下的Winform 皮肤控件
- C# 保护Excel文档
- C#编程实现QQ界面的方法
- C#更改tabControl选项卡颜色的方法
- C#隐藏主窗口的方法小结
- C#抓包
- C#中的转义字符
- C#笔试题
- C#进阶系列——WebApi 跨域问题解决方案:CORS
- C#中的占位符
- c#保存文件的一个自定义方法
- C#实现listview Group收缩扩展的方法
- C#_IO操作_查询指定文件夹下的每个子文件夹占空间的大小
- 浅谈C# 多态的法力
- C#-Lambda