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

 
 
> Память Heap в иаре...
Пришелец
сообщение Feb 1 2005, 14:50
Сообщение #1


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

Группа: Участник
Сообщений: 183
Регистрация: 28-01-05
Пользователь №: 2 272



В настройках проекта иара есть выделение памяти под heap
она используется для динамического выделения памяти - new alloc и т д

В проекти динамическое выделение памяти не используется поставил размер 0.

Сначала вроде программа работает нормально, но иногда появляются странные трудноотлаживаемые глюки. sad.gif

Поставил размер кучи 0х30 вроде нормально работает smile.gif

Может это ещё на что-то влияет?..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
IgorKossak
сообщение Feb 2 2005, 07:28
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Иногда глюки возникают когда установлен недостаточный размер стеков (особенно это сказывается при использовании prinf()) и различные косвенные ухищрения создают впечатление, что проблема устранена.
Если Вы установили размер кучи =0 и линкер не выругался, значит этот сегмент памяти не задействован в проекте и проблема совсем в другом.
Рекомендую:
- на начальном этапе создания проекта не скупиться на стеки (реальный размер можно подогнать позже);
- инспектировать файлы .lst и .map для проверки потребления ресурсов памяти.
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Feb 2 2005, 10:55
Сообщение #3


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

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(Пришелец @ Feb 1 2005, 17:50)
В проекти динамическое выделение памяти не используется поставил размер 0.

Сначала вроде программа работает нормально, но иногда появляются странные трудноотлаживаемые глюки.  sad.gif

Поставил размер кучи 0х30 вроде нормально работает  smile.gif

*


Вполне вероятно, что какие либо библиотечные
проце-дуры использует кучу "скрыто" от юзера.
А может это какая-нибудь ощибка инициализации
(в старт-апе), для которой 0 для кучи - недопустимый параметр.
smile.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 2 2005, 11:34
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(-Tумблер- @ Feb 2 2005, 13:55)
Вполне вероятно, что какие либо библиотечные
проце-дуры использует кучу "скрыто" от юзера.
А может это какая-нибудь ощибка инициализации
(в старт-апе), для которой 0 для кучи - недопустимый параметр.
smile.gif
*

1. "Скрытое" использование кучи исключено. Проверено многими способами.
2. Тоже исключено.
Может быть что-то зависит от способа конфигурирования, хотя мало вероятно. Я предпочитаю конфигурировать через .xcl файл.
Кроме того, если размер кучи даже и задан и сегмент HEAP определён, куча не будет создана если в проекте нет команд её использующих (malloc(), calloc(), realloc(), free(), new, delete).
Для болшей уверенности, что куча не используется можно исключить (закомментарить) из .xcl файла упоминание о сегменте HEAP.
Go to the top of the page
 
+Quote Post
Пришелец
сообщение Feb 2 2005, 14:56
Сообщение #5


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

Группа: Участник
Сообщений: 183
Регистрация: 28-01-05
Пользователь №: 2 272



Спасибо всем.

Глюк остался и с выделенной кучей. wacko.gif

А насчёт размеров стеков полностью согласен. Лучше заранее определить под них заведомо много памяти.

Несколько раз натыкался из-за этого на появляющиеся с ростом кода непонятные глюки smile3046.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 15:18
Рейтинг@Mail.ru


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