综合项目之闪讯破解(四)之 如何用C++编写可被C#调用的Dll

如何用C++编写可被C#调用的Dll

之前的三篇文章已经将闪讯的算法以及PPPOE拨号的关键函数全部用C++实现了,但C++写界面比较繁琐,本身我擅长C#所以决定用C#写界面,C++写DLL给C#调用。这种方式写出的软件,DLL算法保密性好,C#界面开发速度快,C++写算法非常方便,要知道C#写算法是很伤的,而且这也是当前许多公司的选用的编程方式,即C#与C++强强联合。

1)用VS2015新建一个WIN32项目

打开VS2015新建项目,项目类型为“Visual C++–Win32项目”,项目名称为”MyDll”,单击”确定”。
这里写图片描述
单击”下一步“。
这里写图片描述
应用程序类型选择“Dll”,附加选项选择”空项目”,单击“完成”。
这里写图片描述

2)向Dll项目中添加项目文件

右击“源文件”,选择“添加–新建项”。
这里写图片描述
选择“代码–C++文件(.cpp)”,名称和项目名相同为“MyDll”。
这里写图片描述
右击“源文件”,选择“添加–新建项”,选择“代码–模块定义文件(.def)”,名称和项目名相同为“MyDll”。
这里写图片描述
右击“资源文件”,选择“添加–新建项”,选择“资源–资源文件(.rc)”,名称和项目名相同为“MyDll”。
这里写图片描述
双击“MyDll.rc”,在资源视图里面右击“MyDll.rc”,选择添加资源。
这里写图片描述
选择“Version”,单击“新建”。
这里写图片描述
**至此,一个WIN32的C++的Dll项目所需项目文件全部备齐,下面是每个文件的作用。
MyDll.c 包含MyDll.dll可供外部调用的函数及内部函数的C++代码。
MyDll.def向外声明MyDll.dll可供外部调用的函数。
MyDll.rc为版权声明文件。

**3)编辑各个项目文件

MyDll.c 代码:
函数返回值类型 __stdcall 函数名(传入参数)
{
代码;
}

int __stdcall Sum(int a, int b)//一个测试函数 加法函数
{
    return a + b;
}

MyDll.def代码:
LIBRARY “项目名”
EXPORTS
函数名 @ N(N=从1开始向后排)

LIBRARY "MyDll"
EXPORTS
Sum @ 1

MyDll.rc:
大家可以随便写版本及版权信息
这里写图片描述

4)编译生成 Dll

先更改编译生成模式为Release(发布版),平台X86。
这里写图片描述
右键点击项目MyDll,单击“重新生成”。
这里写图片描述
成功后下面提示信息显示 “全部重新生成已成功”
这里写图片描述

5)查看Dll信息

这里写图片描述

成功的创建了一个C++的DLL,由于篇幅的限制,下一篇文章继续讲C#如何调用C++的Dll。

BY Sunday丶若雪 转载请注明出处!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值