我使用扩展数据库库在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语句。
有人能给我解释一下这两行代码是怎么工作的吗?在google上搜索,我只能得到关于如何使用#define定义常量和简单函数的条目
谢谢!
发布于 2017-09-13 14:25:41
请记住,在编译器解析器开始解析代码之前,宏只是作为单独的步骤在源代码中替换。
这意味着在宏展开后,编译器解析器将把db.updateRec(1, EDB_REC logEvent);视为db.updateRec(1, (byte*)(void*)& logEvent);
https://stackoverflow.com/questions/46190205
复制相似问题