Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование RAM для больших массивов.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
JohnKorsh
Пишу на C для MSP в IAR. Думаю, вопрос элементарный, просто не нашёл ответа в книгах по C. Я использую большие статические массивы данных разной размерности и состоящие из переменных разного типа. Массивы никогда не используются одновременно. Например:
static unsigned short int Array_1 [1024];
static int Array_2 [2048];
Можно ли "объяснить" компилятору, чтобы он располагал эти массивы в одной, перекрывающейся обдасти RAM
для экономии RAM?
scifi
Для этого существует union. Почитайте на досуге.
JohnKorsh
Спасибо.
esaulenka
Маленький советик: не надо этим злоупотреблять.

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

Самое забавное - это костыли вида "тут я сохраню переменную из буфера в локальную копию, вызову функцию, а потом восстановлю буфер". Т.е. автор о проблеме знал, но ничего с ней не сделал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.