#define EDB_REC (byte *) (void *) & amp;

Я программирую на 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

Спасибо!

2

Решение

Помните, что макросы просто заменяются в исходном тексте как отдельный шаг, прежде чем анализатор компиляторов начнет анализ кода.

Это означает db.updateRec(1, EDB_REC logEvent); будет ли после раскрытия макроса анализатором компилятора db.updateRec(1, (byte*)(void*)& logEvent);

2

Другие решения

Других решений пока нет …