Я создаю эскизы, используя Arduino IDE (VS2017 + Visual Micro). Поскольку я много строю и стараюсь, я бы хотел определить «уникальное» число для каждой сборки. После загрузки мой ESP32 иногда загружает старый эскиз, поэтому мне нужно узнать, последняя ли это версия сборки. ESP отправляет мне номер через MQTT, все хорошо. Все, что мне нужно видеть, это одно и то же число при построении для сравнения.
Как я выяснил, нет способа определить случайное число во время компиляции и "напечатать" его, поэтому я решил использовать __TIME__
(чч: мм: сс).
Проблема в том, что #pragma message
всегда внутренне обрабатывается как #pragma warning
, поэтому двоеточие интерпретируется как инструкция, печатается только час. Если я добавляю что-то в конце, я также получаю секунды, например, * * * * * * * * * * * * * * * * * * '' '. экспериментировал с constexpr, но они не печатались с использованием #pragma message
.
Можно ли также распечатать протокол? Cut определяет, подавляет интерпретацию двоеточий, получает минуты напрямую, что-нибудь еще?