【发布时间】:2015-06-27 12:58:15
【问题描述】:
我阅读了一篇有趣的answer,关于如何使用巨大的 switch 语句将定义的错误代码列表从错误代码转换为错误字符串。不过我有一个稍微不同的问题。
给定一个包含数千个寄存器定义的大文本文件,即:
#define setup_register 0x01
我希望能够从命令行获取输入,例如write setup_register 0xFF。然后在我的代码中查找 setup_register 的地址 (0x01) 并写入它。
是否有 C 方法可以获取 setup_register 地址?我想我可以解析文件并创建一个新文件,或者手动执行,但这意味着每次更改时都必须执行。
【问题讨论】:
-
您说的是“一个大的文本文件”,但示例内容具有C宏定义的形式。有问题的文件实际上是在程序编译期间可用的 C 源文件(可能是头文件),还是真的用作纯文本文件(意味着程序在运行时读取它)?
-
抱歉,这是一个非常大的 C 源文件。上面表格中的一长串#define 语句。
标签: c