Ответ: Обясняю подробно: (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено АГ 13 апреля 2004 г. 16:46
В ответ на: flash_write(source_pointer, length, dest_pointer); ? - откуда const char ? отправлено xc164 13 апреля 2004 г. 16:13

в программе есть некоторые константы
const unsigned char cbCurVar = 1; //номер текущего набора
указатель на массив содержащий константы
const unsigned char* const pcbCurVar=&Right[0][0]; //
и с ними мы как-то работаем.
Вот есть потребность: раз-другой за время жизни прибора надо сменить их, чтобы первая приняла значение, скажем, 2, а вторая - указала на другой массив констант.
Тады в предложенных терминах
const unsigned char e=2;//
source_pointer=&e;
len=size(const unsigned char);
dest_pointer=&cbCurVar;
ну и перекладываем. Так вот с cbCurVar все нормально, а попытка модификации pcbCurVar... вроде все нормально, верификация "запись - чтение" проходит, а при использовании pcbCurVar продолжает указывать на тоже, что и раньше. Такое впечатление, что программа и не интересуется, что находится в ячейке pcbCurVar, а просто компилятор поставил везде значение, заданное при компиляции (&Right[0][0]) как константу, и меняй-не-меняй...
Вот я и спрашиваю: как его (компилятор) заставить (упросить) брать значение константы из одного и того же места?



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru