我正在使用扩展数据库库在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声明。

有人可以解释一下这两行代码如何工作吗?在谷歌上搜索,我只获得有关如何使用#define定义常量和简单函数的条目

谢谢!

最佳答案

请记住,在编译器解析器开始解析代码之前,宏只是作为单独的步骤在源代码中被替换。

这意味着db.updateRec(1, EDB_REC logEvent);在宏扩展之后将被编译器解析器视为db.updateRec(1, (byte*)(void*)& logEvent);

08-06 13:55