6个版本
0.3.0 | 2024年7月27日 |
---|---|
0.2.3 | 2023年6月23日 |
0.2.2 | 2021年12月19日 |
0.2.1 | 2021年11月26日 |
0.1.0 | 2021年6月21日 |
407 在 文本处理
每月下载量 195
81KB
2K SLoC
cglue-bindgen
清理cbindgen输出以供CGlue使用。
此crate本质上封装了cbindgen,并执行额外的头文件清理步骤,以便于直接使用。请注意,程序期望标准命名约定,如果cbindgen配置中发生任何重命名,则可能无法正常工作。
安装
cargo install cglue-bindgen
确保已安装cbindgen
cargo install cbindgen
运行
类似于cbindgen运行
cglue-bindgen +nightly -- --config cbindgen.toml --crate your_crate --output output_header.h
配置
创建一个cglue.toml
文件,并在运行cglue-bindgen
之前传递-c cglue.toml
。
可以设置几个值
default_container
- 设置默认容器类型。这将使C/C++代码对匹配容器和上下文类型的对象更简洁。支持开箱即用的:Box
,Mut
,Ref
。
default_context
- 设置默认上下文类型。这将使C/C++代码对匹配容器和上下文类型的对象更简洁。支持开箱即用的:Arc
,NoContext
。
使用绑定
请参阅相应语言的文档
您还可以查看代码示例。
遇到问题时
请检查是否有任何自定义cbindgen选项以任何方式影响代码生成。此crate非常挑剔,例如,即使更改文档样式也可能破坏代码生成。
如果您在没有自定义参数的情况下仍然遇到问题,请报告问题,因为这很可能是我的错误或cbindgen更新破坏了绑定生成。
已验证可正常工作的cbindgen版本:v0.20.0
。
依赖项
~3–5MB
~88K SLoC