完成这件事情需要做几个准备,如下:
编写C源文件;
找到VS下的C编译器 cl.exe link.exe;
编写C#调用dll代码;
-----------------------------------------------------------------------------------------
1. 编写C源文件:
举如下例子:
a) 在记事本中编写如下代码,并另存为 hello.c;
#include "stdio.h"
__declspec(dllexport) void Hello()
{
printf("Hello World!");
}
2. 找到VS下的C编译器 cl.exe link.exe;
a) 编译器一般在VS安装目录的VC文件夹下,不过我们不需要这么麻烦。我们只需要打开开始菜单VS目录下的 “Visual Studio Tools”文件夹,选择“Visual Studio 命令提示(2010)”,就会打开一个VS命令提示窗体,如图:
b) 输入命令开始编译
c) 可以在源代码文件夹下看到编译好的dll文件
3. 编写C#调用dll代码;
a) 新建一个C#项目(WinForm、控制台都可以);
b) 把hello.dll拷贝到c#项目Debug文件夹下。
c) 在需要调用dll的地方执行如下代码(记得引用using System.Runtime.InteropServices;):
[DllImport("hello.dll")]
public extern static void Hello();
private void Invoke()
{
Hello();
}