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

一、创建dll

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

C#中调用C语言写的dll

2、选择类型为DLL。

C#中调用C语言写的dll

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

extern "C"
{
    __declspec(dllexport) int sum(int a, int b)
    {
        return a + b;
    }
}

C#中调用C语言写的dll

4、编译就能得到dll啦。

二、C#中调用dll

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

C#中调用C语言写的dll

建好后记得把建立的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();
}

C#中调用C语言写的dll

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

C#中调用C语言写的dll

文章目录