Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

размер стека   Найти похожие ветки 

 
ghg ©   (2004-08-06 19:22) [0]

имеем некую расчетную процедуру в которой при задании большого числа элементов не хватает размера стэка

вопрос: какой максимальный размер стэка можно задать для приложения, и какие есть способы уменьшения пользования стэка

ps: переписать расчетную процедуру не предлагать (не я писал)  :)


 
Anatoly Podgoretsky ©   (2004-08-06 19:27) [1]

В настройках среди
Ну раз переписывать нельзя, то не о чем и говорить.


 
ghg ©   (2004-08-06 19:31) [2]

максимальный размер какой?


 
begin...end ©   (2004-08-06 19:36) [3]

Откуда ж кто знает, какие у тебя настройки?

Project -> Options -> Linker -> Memory Sizes


 
ghg ©   (2004-08-06 19:40) [4]

>begin...end ©   (06.08.04 19:36) [3]
блин объясню подробнее
В этом вот поле memory side->Max stack size у меня задано
$01000000
больше не делается, это не делается больше в принципе или я еще что то не сделал для увеличения ?


 
begin...end ©   (2004-08-06 19:44) [5]

Вот здесь 3-й пункт почитай:

http://delphiworld.narod.ru/base/compiler_directives.html


 
ghg ©   (2004-08-06 19:54) [6]

отлично
по ссылке написано что максимально возможный размер стэка $7fffffff
у меня же больше чем $01000000 не делается
в чем может быть причина?


 
Юрий Зотов ©   (2004-08-06 19:59) [7]

> ghg ©   (06.08.04 19:22)  

> какие есть способы уменьшения пользования стэка

1. Избегать рекурсивных алгоритмов.

2. Избегать длинных цепочек вызова процедур и функций. Например, короткие процедуры можно заменить их же кодом "по месту". Хотя это и не лучший стиль, но если уж ничего другого не остается, то деваться некуда.

3. Как можно меньще локальных переменных в процедурах и функциях и как можно меньший размер этих переменных. Например, можно использовать глобальные переменные, хотя это тоже не лучший стиль.

4. Как можно меньше параметров в процедурах и функциях (желательно - не более 3-х: первые 3 параметра по умолчанию передаются не через стек, а через регистры) и как можно меньший размер этих переменных (желательно - не более 4-х байт: например, вместо передачи больших данных можно передавать их адреса).


 
ghg ©   (2004-08-06 20:01) [8]

>Юрий Зотов ©   (06.08.04 19:59) [7]
спасибо
половину не знал


 
TUser ©   (2004-08-06 21:02) [9]

Есь какая-то директива компилятора, уоторая устанавливает максимальный размер стека. Хотя надо очень постараться, чтобы придумать задачу, для которой действительно надо использовать эту директиву.


 
ghg ©   (2004-08-06 21:15) [10]

обратная трехмерная для геофизики
правда имно память раньше кончится



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.066 c
1-1092046114
Afonya
2004-08-09 14:08
2004.08.22
Создание парсера


14-1091608699
Klerk
2004-08-04 12:38
2004.08.22
Слетели шрифты в WordXP


14-1091769275
ИМХО
2004-08-06 09:14
2004.08.22
Гугл


3-1090997226
unick111
2004-07-28 10:47
2004.08.22
Горизонтальный DBGrid


3-1090915718
MORA
2004-07-27 12:08
2004.08.22
связанные таблицы