c#调用dll文件的详细过程

我有一个c语言写好的工程文件。怎么用封装成dll文件,c#还要调用这个dll

c#

1个回答

类似这种写法
[DllImport("KERNEL32.DLL", EntryPoint="MoveFileW", SetLastError=true,
CharSet=CharSet.Unicode, ExactSpelling=true,
CallingConvention=CallingConvention.StdCall)]
public static extern bool MoveFile(String src, String dst);

要使用using System.Runtime.InteropServices;命名空间,建议详细的用法看看msdn上说明,涉及到String类型是要看清楚是单字节还是字节等编码问题,涉及到指针内存分配还要考虑分配与释放的时机

c#的dll调用和c/c++的不一样,要考虑是stdcall还是cdecl,参数传递的手法要一致,否则会泄露内存甚至调用失败的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!