Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
#ifdef ALLOC
#define I(...) __VA_ARGS__
#define EXPORTED
#else
#define I(...)
#define EXPORTED extern
#endif
Описываем переменные так:
EXPORTED int a I(=0);
Только в одном файле определяем макроопределение ALLOC. Тогда в нем получится
int a = 0;
А во всех остальных
extern int a;
Все это хозяйство отлично работает, но вот захотелось выпендриться и сзделать аналогичное макроопределение:
#ifdef ALLOC
#define I(...)
#define EXPORTED
#else
#define I(...) ;/##/
#define EXPORTED extern
#endif
и использовать так:
EXPORTED int a I =0;
Замутил я это для того, чтобы в doxygen более правильно все генерилось, а то он путается в этих I(). Но пока не получается