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

最近在做一个C#调用C实现的一套接口,采用DLLimport方式,由于C接口函数里面需要传递2个结构体,并且这两个结构体是封装好的并不知道内部构造,在C#里只能用IntPtr,这样传递在没有连上对方的服务器前是没问题的。但连上他们的服务器时,程序就崩溃了,报内存错误,0xc00000054 这个错误 。具体情况是,在C#里面构造了一个结构体(有指定物理结构),在这个结构体内部还有其他2个结构体,并且这2个结构体不知道内部细节,只是用Intptr 代替,在传参数时 使用Marlsh 将结构体转为指针。

请问有没有遇到类似的情况,是怎么解决的?


互换的青春
浏览 874回答 2
2回答

婷婷同学_

我已经解决了,把结构体对象转byte[] 传过去就行了。不要知道结构体内部。
打开App,查看更多内容
随时随地看视频慕课网APP