我正在使用扩展数据库库对Arduino Due进行编程,并在示例中遇到以下行。
EDB_Status result = db.updateRec(1, EDB_REC logEvent);
我不理解EDB_REC logEvent
部分。 EDB_REC做什么? (logEvent只是一个结构)
所以我去了EDB_REC的实现并得到了:
#define EDB_REC (byte*)(void*)&
让我更加困惑,因为我从未见过这样的#define声明。
有人可以解释一下这2个代码行是如何工作的吗?在Google上搜索我只获得了如何使用#define
定义常量和简单函数的条目谢谢!
答案 0 :(得分:2)
请记住,在编译器解析器开始解析代码之前,宏只是在源代码中替换为单独的步骤。
这意味着编译器解析器将宏扩展后的db.updateRec(1, EDB_REC logEvent);
视为db.updateRec(1, (byte*)(void*)& logEvent);