C#中调用C语言写的dll

Sandeepin喜欢用C#做GUI,因为方便,随手画就能做好,但是写代码还是喜欢用C语言。可是学C语言时书上根本没教如何编写dll,经过自己查阅各种资料教程,终于成功啦,现分享自己的心得。IDE用的是Visual Studio 2010。

一、创建dll

1、建立一个 Win32控制台应用程序 。

2、选择类型为DLL。

3、编写如下代码。一个例子,函数sum计算a+b的和:

extern "C"

{

    __declspec(dllexport) int sum(int a, int b)

    {

        return a + b;

    }

}

4、编译就能得到dll啦。

二、C#中调用dll

1、为了方便演示,就简单建个控制台程序吧:

建好后记得把建立的dll放到现在这个工程的Debug目录下。

2、先引入命名空间using System.Runtime.InteropServices;。再在class Program中输入如下代码:

[DllImport("sandeepin.dll", EntryPoint = "sum", CallingConvention = CallingConvention.Cdecl)]

private static extern int Sum(int a, int b);

static void Main(string[] args)

{

    Console.WriteLine(“2加3的和″);

    int result = Sum(2, 3);

    Console.WriteLine(“计算结果为: {0}”, result);

    Console.ReadKey();

}

3、编译后即可看到结果: