Я объявляю перечисление следующим образом:
typedef enum message_t {
mes_no_error = 0, // no message sent
mes_internal = 1, // reserved for internals
mes_start = 2, // when main() is executed
mes_init = 3, // when inits in main() are done
mes_end = 4, // when main() returns
mes_foo,
mes_bar,
mes_joe
} message;
Поскольку это для микроконтроллера, который общается со мной на ПК, я хотел бы знать значения, которые используются для mes_foo, mes_bar, mes_joe....
Я подумал, что мог бы использовать такие директивы компилятора:
#warning "mes_block_01 = " mes_joe
и более поздние, то есть регулярное выражение и выгрузка значений в файл при компиляции программы.Тем не менее, gcc просто говорит мне:
message.h:63:2: Warnung: #warning "mes_block_01 = " mes_joe
без значения, а только с именем enum.
Возможно ли каким-либо образом записать автоматически присвоенные значения из перечислений в файл?Можно ли как-то показать значения констант / определений с помощью препроцессора или во время компиляции?