3个稳定版本
1.0.2 | 2022年4月7日 |
---|---|
1.0.1 | 2022年3月3日 |
1.0.0 | 2022年3月2日 |
在 过程宏 中排名 1247
9KB
152 行
cpreprocess
一个愚蠢且邪恶的Rust过程宏,它对输入运行C预处理器
用法
[dependencies]
cpreprocess = "*"
示例
fn main() {
cpreprocess::cpreprocess!(r#"
#define MACRO(NAME) fn print_ ## NAME () { println!("hello world"); }
MACRO(hello_world)
print_hello_world()
"#)
}
夜间版本
如果您使用的是Rust夜间编译器,您可以在不使用字符串字面量的情况下使用此宏。只需为此crate启用nightly
Cargo功能即可。
我认为这主要是一个实验性的,因为它依赖于提取宏内容的不完全准确的方法。
fn main() {
cpreprocess::cpreprocess! {
#define MACRO(NAME) fn print_ ## NAME () { println!("hello world"); }
MACRO(hello_world)
print_hello_world()
}
}
依赖项
~2MB
~46K SLoC