ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
180847 Топик полностью
ReAl (10.02.2010 13:04, просмотров: 150) ответил koyodza на ещё вопрос: как лучше сделать таблицу ссылок на данные?
"грязный хак", так как по стандарту вычитать можно только указатели в пределах одного объекта. Но должно работать в реальных условиях. int dummy; // это может быть любая переменная в ОЗУ #define OFFS(var) ( ((uint8_t*)&(var)) - (uint8_t*)&dummy) ) #define UNREF(type, offs) (*(type *)( (uint8_t*)&dummy + (offs) )) WORD a; WORD b; short int c[] = { OFFS(a), OFFS(b) }; WORD aa = UNREF(WORD,c[0]); UNREF(WORD,c[1]) = 5;