我正在尝试在编译时解析C头文件的可能性(并生成一堆数字常量以供其他代码使用)。我不需要解析所有的头文件结构,因为我控制了它的内容并且知道该文件中仅包含#define
。所以我尝试了以下方法:
macro_rules! parse_defines {
($(#define $x:ident $v:expr)+) => {$(
const $x: isize = $v;
)+};
}
它可以when I write #define
s in the code itself使用,但是当我使用include!
时不能使用,因为include!
宏没有在我的宏被扩展之前被扩展,并且它失败了,并且“没有期望令牌的规则”错误。有什么解决方法吗,还是我必须使用proc宏?