为了账号安全,请及时绑定邮箱和手机立即绑定

C#调用C的接口关于指针的传递

C#调用C的接口关于指针的传递

C++
互换的青春 2018-11-10 15:15:17
最近在做一个C#调用C实现的一套接口,采用DLLimport方式,由于C接口函数里面需要传递2个结构体,并且这两个结构体是封装好的并不知道内部构造,在C#里只能用IntPtr,这样传递在没有连上对方的服务器前是没问题的。但连上他们的服务器时,程序就崩溃了,报内存错误,0xc00000054 这个错误 。具体情况是,在C#里面构造了一个结构体(有指定物理结构),在这个结构体内部还有其他2个结构体,并且这2个结构体不知道内部细节,只是用Intptr 代替,在传参数时 使用Marlsh 将结构体转为指针。请问有没有遇到类似的情况,是怎么解决的?
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我已经解决了,把结构体对象转byte[] 传过去就行了。不要知道结构体内部。


查看完整回答
反对 回复 2018-11-14
  • 2 回答
  • 0 关注
  • 873 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信