Пришелец 0 1 февраля, 2005 Опубликовано 1 февраля, 2005 · Жалоба В настройках проекта иара есть выделение памяти под heap она используется для динамического выделения памяти - new alloc и т д В проекти динамическое выделение памяти не используется поставил размер 0. Сначала вроде программа работает нормально, но иногда появляются странные трудноотлаживаемые глюки. :( Поставил размер кучи 0х30 вроде нормально работает :) Может это ещё на что-то влияет?.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 2 февраля, 2005 Опубликовано 2 февраля, 2005 · Жалоба Иногда глюки возникают когда установлен недостаточный размер стеков (особенно это сказывается при использовании prinf()) и различные косвенные ухищрения создают впечатление, что проблема устранена. Если Вы установили размер кучи =0 и линкер не выругался, значит этот сегмент памяти не задействован в проекте и проблема совсем в другом. Рекомендую: - на начальном этапе создания проекта не скупиться на стеки (реальный размер можно подогнать позже); - инспектировать файлы .lst и .map для проверки потребления ресурсов памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-Tумблер- 0 2 февраля, 2005 Опубликовано 2 февраля, 2005 · Жалоба В проекти динамическое выделение памяти не используется поставил размер 0. Сначала вроде программа работает нормально, но иногда появляются странные трудноотлаживаемые глюки. :( Поставил размер кучи 0х30 вроде нормально работает :) <{POST_SNAPBACK}> Вполне вероятно, что какие либо библиотечные проце-дуры использует кучу "скрыто" от юзера. А может это какая-нибудь ощибка инициализации (в старт-апе), для которой 0 для кучи - недопустимый параметр. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 2 февраля, 2005 Опубликовано 2 февраля, 2005 · Жалоба Вполне вероятно, что какие либо библиотечные проце-дуры использует кучу "скрыто" от юзера. А может это какая-нибудь ощибка инициализации (в старт-апе), для которой 0 для кучи - недопустимый параметр. :) <{POST_SNAPBACK}> 1. "Скрытое" использование кучи исключено. Проверено многими способами. 2. Тоже исключено. Может быть что-то зависит от способа конфигурирования, хотя мало вероятно. Я предпочитаю конфигурировать через .xcl файл. Кроме того, если размер кучи даже и задан и сегмент HEAP определён, куча не будет создана если в проекте нет команд её использующих (malloc(), calloc(), realloc(), free(), new, delete). Для болшей уверенности, что куча не используется можно исключить (закомментарить) из .xcl файла упоминание о сегменте HEAP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Пришелец 0 2 февраля, 2005 Опубликовано 2 февраля, 2005 · Жалоба Спасибо всем. Глюк остался и с выделенной кучей. А насчёт размеров стеков полностью согласен. Лучше заранее определить под них заведомо много памяти. Несколько раз натыкался из-за этого на появляющиеся с ростом кода непонятные глюки :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться