C#与C++强强联合

众所周知C#是门可以很大幅度提高开发效率的语言,是一门上手容易省钱省时的编程语言,然作为一门高级语言性能比不上低级语言,更比不上伟大的机器语言。那些速度快的语言开发效率实在是不怎么样。各有千秋吧!

唠叨完了,写这个博客是想跟大家分享下最近学习和新知识,C#调用C++的算法dll,最近需要写个寻路的算法,需要在很短的时间中计算完成给出结果,我是使用C#开发的,然C#写出来后需要10S这个客户不能接受,我也是追求完美的人,肯定也不能接受啦,以前看到过C#可以调用C++的DLL,然后我这个没有弄过C++的人士也来搞下了。

分以下步骤

一、创建C++DLL

1、打开vs2008,新建-》项目-》C++的win32项目

2、应用程序类型选择DLL

3、这样就C++项目就创建好啦,我们写一个求和的算法,需要创建H和CPP文件,里面的代码极其简单就不贴了,后面有源码可以下载。

二、C#调用C++DLL。

1、DllImport相信很多人都很熟悉,是的,我们的C++的使用也是使用DllImport来调用的。
[DllImport(“TEST.dll”)]

public static extern int Sum(int num1, int num2);

private void butSumbit_Click(object sender, EventArgs e)

{

txt3.Text = Sum(int.Parse(txt1.Text), int.Parse(txt2.Text)).ToString();

}

就这样就好啦,简单的然你失望吧!

当然了,这厮是一个演示怎么调用的demo肯定没有那么的复杂啦,也没有那些类型转换。我这次写的是一个C*算法+贪心算法。用来计算最短路径的,也会用到C#的指针。有兴趣的继续关注下,下一篇博文中会介绍些。

源码 -附件

标签