реклама на сайте
подробности

 
 
> Использование RAM для больших массивов., Можно ли использовать одну область RAM для разных массивов.
JohnKorsh
сообщение Jun 25 2012, 13:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Пишу на C для MSP в IAR. Думаю, вопрос элементарный, просто не нашёл ответа в книгах по C. Я использую большие статические массивы данных разной размерности и состоящие из переменных разного типа. Массивы никогда не используются одновременно. Например:
static unsigned short int Array_1 [1024];
static int Array_2 [2048];
Можно ли "объяснить" компилятору, чтобы он располагал эти массивы в одной, перекрывающейся обдасти RAM
для экономии RAM?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Jun 26 2012, 12:59
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



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

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

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


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 04:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016