0.1.2 |
|
---|---|
0.1.1 |
|
0.1.0 |
|
在 #cc 中排名第68
135KB
3K SLoC
CGEN-RS: 从Rust生成C/C++代码
此crate提供了一个用于构建C/C++代码的库API。
许可证
贡献
欢迎代码贡献。提交者必须在所有提交中使用 sign-off 功能,以确认提交者拥有在许可证下贡献代码的所有权利,没有任何额外的条款或条件。
请参阅AUTHORS文件以获取贡献者列表。
致谢
此crate受到codegen-rs`的启发
安装
要使用 cgen-rs
,请将其仓库克隆到Rust项目的lib
文件夹中,或使用crates.io
使用方法
您可以通过将以下行添加到Cargo.toml
文件来使用 cgen-rs
。
要使用 codegen-rs
,首先将其添加到您的 Cargo.toml
[dependencies]
cgen-rs = { path = "lib/cgen-rs" }
接下来,创建一个 Scope
并使用builder API在该范围内创建元素。最后,调用 Scope::to_string()
以获取格式化的C代码字符串。
use cgen_rs as CG;
let mut scope = CG::Scope::new();
scope.set_filename("include/my_file.hpp");
scope.push_doc_str("WARNING: This is auto-generated comment\n");
scope.new_include("stdio.h", true);
scope.new_class("MyClass")
.set_base("StateBase", CG::Visibility::Public)
.push_attribute(Attribute::new("name", Type::new_int(8)));
println!("{}", scope.to_string());