c#调用C++写的DLL,DLL中的接口参数有二维数组(如:char**),在c#中如何将二维数组传入?

c#调用C++写的DLL,DLL中的接口参数有二维数组(如:char**),在c#中如何将二维数组传入?这个问题也可以解释为非托管数据与托管数据之间的封装处理。很想知道怎... c#调用C++写的DLL,DLL中的接口参数有二维数组(如:char**),在c#中如何将二维数组传入?
这个问题也可以解释为非托管数据与托管数据之间的封装处理。很想知道怎么样才能取消C#对非托管数据的写保护。
展开
 我来答
不古龙
2012-01-03 · TA获得超过628个赞
知道小有建树答主
回答量:643
采纳率:100%
帮助的人:321万
展开全部
我没有发现有什么问题,使用[DllImpor[("你需要引用的DLL")] private static extern 返回类型 需要引用的接口函数(你要用到的数组)。

既然是C++写的DLL,那么应该有针对这个数组的方法的,就象C#中的get和set。它与C#这种不同的,即使它在DLL中被声明成全局参数也不无法在C#中直接被导入引用的。
追问
C#里会对char*类型写保护,原因是C语言的char*类型其实是一个指针,输入非托管数据,调用DLL,从C#传char【】到函数里,改动不了。会报错,内存写保护。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胖嘟嘟锦鲤
2012-04-05
知道答主
回答量:61
采纳率:0%
帮助的人:14.3万
展开全部
绑定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式