小编Win*_*ner的帖子

从c头自动创建C#包装器?

有没有办法从ac头自动创建.net的p/invoke包装?

当然我可以手工创建它们,但维护它们会很痛苦,而且我可能在某个地方犯了一个错误,导致很难调试崩溃.

我尝试过SWIG,但它创建了完整的类,其中简单的结构就足够了.SWIG的另一个问题是它需要c侧的额外互操作代码.

我更喜欢输出也适用于单声道,但这不是必需的.

我可以使用的另一件事是一个解析c头的程序,并以一个漂亮的中间格式(如xml)创建一个输出,我可以自己创建C#包装器.

编辑:
PInvoke Interop助手是我需要的.
但它有一些小问题:
*它将"unsigned char*"转换为我更喜欢IntPtr的字符串
*它假设size_t = int = long = 32bit.这对我来说是正确的,但在每个平台上可能都不是这样.
有没有一个干净的方法来解决这个问题?否则我会在转换之前在c代码上使用一些查找和替换.

.net c c# pinvoke interop

19
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

c ×1

c# ×1

interop ×1

pinvoke ×1