Я программирую на 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
Спасибо!
Помните, что макросы просто заменяются в исходном тексте как отдельный шаг, прежде чем анализатор компиляторов начнет анализ кода.
Это означает db.updateRec(1, EDB_REC logEvent);
будет ли после раскрытия макроса анализатором компилятора db.updateRec(1, (byte*)(void*)& logEvent);
Других решений пока нет …