如何在 C# 中编组数据类型 unsigned char**?

发布于 2024-09-05 23:58:07 字数 110 浏览 3 评论 0原文

我正在尝试编组 unsigned char** (位于 C++ 接口中)以便从 C# 调用该方法。

这怎么能做到呢?是否有 C++ 数据类型和 C# 数据类型的列表?

谢谢!

I'm trying to marshall unsigned char** (which is in a C++ interface) in order to call the method from C#.

How can this be done? Is there a list where are C++ data types and C# data types?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一直在等你来 2024-09-12 23:58:07

这个unsigned char**的语义是什么?如果是字节数组,则使用ref byte[]
如果它是以零结尾的字符串,请使用ref string

你可以在http://www.pinvoke.net页面找到一些映射到c#的流行方法签名,这可能会给你这个想法。

What is the semantics of this unsigned char**? If it is a byte array, use ref byte[].
If it is a zero terminated string, use ref string.

You can find some popular method signatures mapped to c# on the page http://www.pinvoke.net, which may give you the idea.

甜中书 2024-09-12 23:58:07

我认为您应该使用具有 C++ 和 C# 接口的序列化库。

来自 Google 的 协议缓冲区Thrift 支持这两种语言。

这肯定会让您的事情变得更加轻松和安全。

如果您决定更改传输的数据类型(即使用整数、结构等而不是原始字符串),那么使用序列化库是最佳选择。

I think you should use a serialization library that has an interface for both C++ and C#.

Both Protocol Buffers from Google or Thrift from Facebook support these two languages.

It would definitely make things much easier and safer for you.

If you decide to change the transferred data types (i.e. use integers, structures, etc. instead of raw strings), using a serialization library is the way to go.

倾听心声的旋律 2024-09-12 23:58:07

这将被编组为ref string。请务必使用带有 [MarshalAs] 属性的正确字符集。

That would be marshalable as ref string. Be sure to use the right character set with a [MarshalAs] attribute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文