vmp (03.06.2011 17:52, просмотров: 149) ответил SciFi на Как на Си сделать такое? ->
Двойная компиляция одного .h-файла с разными #define. Детально расписывать лень, одни идеи. Исходный файл events.h:
#ifndef EVENT_DEF
#define EVENT_DEF(e,s) e
#endif
typedef enum {
EVENT_DEF(EVENT_STARTUP, "STARTUP"),
EVENT_DEF(EVENT_LOS, "Loss of input signal"),
} T_EVENT;
Далее делаем в проекте файл events.c такого вида:
#include "events.h"
#undef EVENT_DEF
#define EVENT_DEF(e,s) s
const char * event_message[] = {
#include "events.h"
};
И цепляем к проекту.