我正在尝试编组unsigned char **(在C ++接口中)以便从C#调用该方法。
如何做到这一点?是否有C ++数据类型和C#数据类型的列表?
谢谢!
答案 0 :(得分:2)
这个unsigned char**
的语义是什么?如果是字节数组,请使用ref byte[]
。
如果它是一个以零结尾的字符串,请使用ref string
。
您可以在页面http://www.pinvoke.net上找到映射到c#的一些常用方法签名,这可能会为您提供这个想法。
答案 1 :(得分:1)
我认为您应该使用具有C++
和C#
接口的序列化库。
来自Google的Protocol Buffers或来自Facebook的Thrift都支持这两种语言。
这肯定会让事情变得更轻松,更安全。
如果您决定更改传输的数据类型(即使用整数,结构等而不是原始字符串),则可以使用序列化库。
答案 2 :(得分:0)
这将被编组为ref string
。请务必使用带有[MarshalAs]
属性的正确字符集。