JohnKorsh 1 25 июня, 2012 Опубликовано 25 июня, 2012 · Жалоба Пишу на C для MSP в IAR. Думаю, вопрос элементарный, просто не нашёл ответа в книгах по C. Я использую большие статические массивы данных разной размерности и состоящие из переменных разного типа. Массивы никогда не используются одновременно. Например: static unsigned short int Array_1 [1024]; static int Array_2 [2048]; Можно ли "объяснить" компилятору, чтобы он располагал эти массивы в одной, перекрывающейся обдасти RAM для экономии RAM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 25 июня, 2012 Опубликовано 25 июня, 2012 · Жалоба Для этого существует union. Почитайте на досуге. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnKorsh 1 26 июня, 2012 Опубликовано 26 июня, 2012 · Жалоба Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 26 июня, 2012 Опубликовано 26 июня, 2012 · Жалоба Маленький советик: не надо этим злоупотреблять. Проблемы вида "я сохранил переменную в буфер, вызвал совершенно постороннюю функцию, которая для своих целей попользовалась тем же буфером, а потом в первой функции продолжил работать со своей переменной" могут попортить много нервов. В вышеописанной ситуации всё просто и понятно, но когда код чужой, уровней вложенности - штуки 3, а переменная портится далеко не всегда... Самое забавное - это костыли вида "тут я сохраню переменную из буфера в локальную копию, вызову функцию, а потом восстановлю буфер". Т.е. автор о проблеме знал, но ничего с ней не сделал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться