rust - 使用包含的文本作为宏参数
问题描述
我正在尝试创建在编译时解析 C 头文件的可能性(并生成一堆要在其他代码中使用的数字常量)。我不需要解析所有的头文件结构,因为我控制了它的内容并且知道这个文件#define
里面只有 s。所以我尝试了以下方法:
macro_rules! parse_defines {
($(#define $x:ident $v:expr)+) => {$(
const $x: isize = $v;
)+};
}
它在我在代码本身中编写#define
s 时起作用,但在我使用时不起作用include!
,因为include!
宏在我的宏之前没有展开,并且它失败并出现“没有规则预期令牌”错误。有什么解决方法吗,还是我必须使用 proc 宏?
解决方案
推荐阅读
- mathjax - svelte js:通过 mathjax 渲染 mathml
- docker - 如何在 shell 脚本中运行“docker run ..”命令
- react-native - KEYCLOAK:redirectUrl:'
:/打回来' - scala - 使用 scala 从 dynamodb 获取表大小
- javascript - 无法从mysql推送到数组结果
- java - 任务链中的 CompletableFuture 错误处理
- javascript - Vue.js 和 Firestore 只更新不等于空字符串的变量
- android - Android Tombstone回溯中符号后的数字是什么?
- javascript - window.postMessage 不工作 JavaScript
- c# - 在 C# 服务中使用 openpop.dll 连接到 Gmail