c#给按钮添加链接_C#实战033:动态链接库的创建与使用

前言

由于项目对FANUC、西门子、华中数控等设备有二次开发需求,所以ASP.NET MVC开发只能暂时交给其他同仁了,我则主攻设备开发。之前有用VC写过FANUC的开发,但是现在平台改成ASP.NET了所以想尝试用C#来写,毕竟还有那么多设备需要开发,用C#写会比C/C++简单高效些(这里我用Visual Studio 2015开发)。

dfe2fc8c737e6dd6dbd1b78225fd65cf.png

动态链接库

动态链接库(Dynamic Link Library,缩写为 DLL)是Windows操作系统中实现共享函数库的一种方式,这样一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序调用,DLL是一个不可执行的二进制文件,也不接收消息。里面集成了很多执行函数,只有当其它模块调用该动态链接库中的函数时才会被执行,不需要在运行之初加载所有代码,这样可以减小程序运行时占用的内存。而且动态链接库是经过预先编译处理的,别人在使用你编写的DLL文件时并无法知晓函数的实现逻辑,可以有效的保护源码不被泄露。

a4d64e8283aa7959e6cef3b172c8cbbf.png

动态链接库优点

1,不用预先加载,随用随调,节省内存占用;

2,DLL文件独立,更新不影响程序运行,提高了可维护性和可扩展性;

3,支持其他语言调用,跨平台可移植性强;

4,可独立开发测试、耦合度低。

aeb699738383a916268b23d61077d6d4.png

如何新建dll文件

打开Visual Studio 2015程序点击新建项目,在Visual C#中选择“类库”,输入类库名(默认ClassLibrary1)后确定。

7361a19b7149a9d8618cf3095bbe967d.png

编写方法函数

创建完之后我们得到一个空间名为ClassLibrary1的类文件,在这个类中我们就可以来写我们的方法函数了,这里写个简单的输出语句“Hello DLL”。相比而言C/C++编写动态链接库要复杂写还要编写头文件,调用动态链接库时还分静态调用 和 显示调用。

db471c9e2689b506532e26e865ce7e0c.png

生成解决方案

写好方法函数之后我们就可以编译源码了,点击菜单栏上的工具=>生成ClassLibrary1(U),就可以在项目的Debug目录生成一个名为ClassLibrary.dll的文件,这个就是我们的动态链接库了。

7a7bed791cf6bb99937997cb9dc79842.png

引入动态链接库文件

最简单的方式我们新建一个控制台应用程序,然后引入我们刚刚的ClassLibrary.dll文件,在资源管理器中的选择“引用”=>"添加引用",在浏览中找到我们的ClassLibrary.dll文件。

ee4597f9c31b21acad83181c2892adfd.png

调用动态链接库

前面我们在ClassLibrary中写了一个简单的hello方法,输出一句“Hello DLL”。接下来我们就来简单的调用下,首先我们使用using ClassLibrary1引入空间名,要实现类中的方法我们需要先对该类实例化,然后在调用类中的hello方法。

64e9275809ebe4f8cfbc739d55290bdf.png

编译运行结果

这是一个最简单的动态链接库调用示例,点击“启动”按钮编译运行控制台应用程序,我们可以在控制台看到打印出了“Hello DLL”字样,这个就是来自动态链接库中的输出语句 Console.WriteLine("Hello DLL")。

6b55cce07908104dd5eca54cce1dfbba.png

更多C#实战技巧可以参考我的专栏:C#实战系列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值