从 Rust 生成 C# FFI,可自动将原生代码和 C 原生库引入 .NET 和 Unity。
从 Rust 生成 C# FFI,可自动将原生代码和 C 原生库引入 .NET 和 Unity。
自动生成来自 Rust extern "C" fn 代码的 C# DllImport 代码。与 DllImport 相比,后者默认为 Windows 调用约定,且需要大量配置才能进行 C 调用,而 csbindgen 会生成针对 "Cdecl" 调用优化的代码。此外,.NET 和 Unity 具有不同的回调调用方法(.NET 使用函数指针,而 Unity 使用 MonoPInvokeCallback),但通过配置可以输出用于任何一种方法的代码。
与 Rust 卓越的 C 集成结合使用时,您还可以将 C 库引入 C# 中。Rust-bindgen 是一款经过验证的 .h 解析库,具有丰富的使用历史。通过与 csbindgen 结合使用,您可以生成调用 C 代码的代码。在这种情况下,您不需要 Rust 原生库 - 只需要 C/C++ 二进制文件和 C# 即可。此外, Rust 具有用于跨平台构建的出色工具链,而 cc crate 和 cmake crate 可让 C 源代码集成到构建中。与它们一起使用时,还支持整合多个原生调用并将其简化为 Rust 调用。
展示区:
暂无开放 Issues,或尚未同步最近议题。