gpt4 book ai didi

c - 如何为 C# 包装我的 native C 库?

转载 作者:行者123 更新时间:2023-11-30 16:53:22 26 4
gpt4 key购买 nike

我有一个很大的 native C 库,其中包含一个非常大的头文件。

头文件包含 50 个枚举、500 个结构体和 5 个方法。

我曾经使用 P/Invoke 将其封装为 C#,50 个枚举都是复制粘贴,方法很少,但我花了大量的精力来编写结构。

当库更新时,我应该检查所有结构以查看是否有任何数据类型已更改。

有一次,我被告知使用 CLR 更快、更高效。我希望找到一种方法可以将非托管枚举和结构转换为托管枚举和结构。但根据我的测试,似乎我必须再次以托管样式制作结构并复制它们的字段。

这是真的吗?

有没有办法简化结构转换?

最佳答案

CppSharp从 Mono 项目中,您可以轻松快速地从 native 代码的 C/C++ 头文件生成 .NET 绑定(bind)。

完整的文档可以在这里找到:https://github.com/mono/CppSharp/blob/master/docs/GeneratingBindings.md

关于c - 如何为 C# 包装我的 native C 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40868501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com