#cc #generate #generation

已删除 cgen-rs

用于生成C/C++代码的库

0.1.2 2022年2月9日
0.1.1 2022年2月9日
0.1.0 2022年2月9日

#cc 中排名第68

MIT 许可证

135KB
3K SLoC

CGEN-RS: 从Rust生成C/C++代码

此crate提供了一个用于构建C/C++代码的库API。

许可证

MIT许可证

贡献

欢迎代码贡献。提交者必须在所有提交中使用 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());

无运行时依赖