2 qq 32105675 qq_32105675 于 2016.03.01 00:16 提问

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

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

1个回答

hikarisamax
hikarisamax   2016.03.01 11:28
已采纳

类似这种写法
[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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C# 调用DLL文件
C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件
C#调用C#的DLL文件
C#调用C#写的DLL文件,C#调用C#的DLL文件,C#调用C#的DLL文件
C#调用Delphi dll库文件
C#调用Delphi dll库文件,分别用函数和存储过程写的两种方法 在c#2013调试成本DELPHI7写的DLL文件
vb调用c#编写的串口DLL文件(vb源码 C#源码)
vb调用c#编写的串口DLL文件(vb源码 C#源码)
VC++动态链接库(DLL)编程深入浅出
VC++动态链接库(DLL)编程教程,由浅入深介绍DLL文件的创建及调用过程,并附有详细代码
C#Winform动态调用C++和C#的Dll
演示c# 通过设置DLL文件 生成操作 为 嵌入的资源 后,DLL文件嵌入生成的EXE里,然后动态调用DLL,妈妈再也不用担心我找不到DLL文件了
C#动态获取DLL类库文件中的方法并调用
动态调用Dll,把其中的类以及方法遍历出来,并进行调用。
VC调用C#写的DLL
这个例子很好解决了, VC和C#之间的互调的问题
C#调用QT的dll方法
C#调用QT的dll方法,个人资料方法,仅供参考,如有哪位大虾有更好的方法,请留言
Csharp调用c++的DLL类库
共含有2个项目,一个是c++写的DLL类库,另一个是C#调用第一个项目生成的DLL类库。 另外可以参考: http://blog.csdn.net/jshayzf/article/details/23608705 有说明,有实例,更好懂,代码下载后用VS2010就可以运行!