目录
1,调用过程
2,最终效果
调用过程
(1)新建Dll项目(动态链接库项目)
(2)打开项目的dllmain文件,在这个CPP文件写入自己想要被调用的方法,写入的方法要按照
extern "C" _declspec(dllexport) 返回值 方法名 (要传递的参数){需要执行的程序块}
的格式写入,除此之外,在dllmain文件中可以正常引入其他头文件(具体如下图)
(3)生成dll文件
(4)将dll文件放入到需要引用的C#工程Debug文件夹里(非必须,但建议这么做)
(5)在C#工程引用dll中的方法,引用的格式为
[DllImport("dll文件路径", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] public static extern 返回值 方法名 (需要传递的参数);
这里传递的参数类型是C++对应C#的类型,具体可以看这篇文章C#调用C++dll的类型对照,然后值得注意的是,要传递字符串的话最好在调用的时候加CharSet = CharSet.Unicode
,如果不加很有可能会出现字符串乱码 (该阶段操作具体如下图)