c#使用DllImport调用c++dll的函数

举几个简单的例子,希望自己写网上都搜了还是不太懂... 举几个简单的例子,希望自己写网上都搜了 还是不太懂 展开
 我来答
丈室有高朋
2011-08-09 · TA获得超过242个赞
知道答主
回答量:89
采纳率:0%
帮助的人:59.2万
展开全部
我把写的程式,给你分享一段。你就知道怎么C#怎么调用C++的Dll了

using System.Runtime.InteropServices;

[DllImport("fisLANTestDLL.dll", EntryPoint = "StartDB", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
extern public unsafe static int StartDB(sbyte* msg);

int StartDB(sbyte* msg);这个就是C++中Dll中的函数。
EntryPoint = "StartDB", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)只是一些设定,可要可不要
chzhn
2011-08-09 · TA获得超过5342个赞
知道大有可为答主
回答量:2951
采纳率:0%
帮助的人:1462万
展开全部
调用格式如下:

[DllImport("ex.dll", EntryPoint = "method")]
public static extern void method(int a);
其中ex.dll为C++DLL名,method为函数名, 这里的int a为C++中方法的参数转换。
例:C++DLL名:Interface.dll,函数为voidCopMemFree(void *vp);
调用格式为:

[DllImport("Interface.dll", EntryPoint = "CopMemFree")]
public static extern void CopMemFree(IntPtr vp);

其实C#调用C++dll主要就是C++与C#的参数转换比较困难。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式