Перейти к содержанию
    

Использование RAM для больших массивов.

Пишу на C для MSP в IAR. Думаю, вопрос элементарный, просто не нашёл ответа в книгах по C. Я использую большие статические массивы данных разной размерности и состоящие из переменных разного типа. Массивы никогда не используются одновременно. Например:

static unsigned short int Array_1 [1024];

static int Array_2 [2048];

Можно ли "объяснить" компилятору, чтобы он располагал эти массивы в одной, перекрывающейся обдасти RAM

для экономии RAM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Маленький советик: не надо этим злоупотреблять.

 

Проблемы вида "я сохранил переменную в буфер, вызвал совершенно постороннюю функцию, которая для своих целей попользовалась тем же буфером, а потом в первой функции продолжил работать со своей переменной" могут попортить много нервов.

В вышеописанной ситуации всё просто и понятно, но когда код чужой, уровней вложенности - штуки 3, а переменная портится далеко не всегда...

 

Самое забавное - это костыли вида "тут я сохраню переменную из буфера в локальную копию, вызову функцию, а потом восстановлю буфер". Т.е. автор о проблеме знал, но ничего с ней не сделал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...