#reflection #enums #type #struct #macro #c-comaptible

ffi_reflect

提供生成C兼容类型反射方法的derive宏

3个稳定版本

1.0.2 2023年5月16日
1.0.1 2023年5月10日
1.0.0 2023年5月6日

#196 in FFI


用于 ffi_reflect_csharp

MIT 协议

6KB
102 代码行

ffi_reflect

ffi_reflect 是一个编译时反射库,提供了 FfiReflect derive宏。该宏本身生成一个函数 pub const fn ffi_reflect() -> FfiType<'static>,该函数对于绑定生成非常有用。

您只能在标记为 #[repr(C)]#[repr(transparent)] 的结构体上使用 FfiReflect derive,在标记为 #[repr($INTEGER_TYPE)] 的枚举上,以及标记为 #[repr(C)] 的联合体上。

您可以使用 ffi_reflect_csharp 生成与C#类型具有完全相同内存布局的C#类型。

依赖项

~280–730KB
~17K SLoC