Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.055 c
1-1091803396
Limp
2004-08-06 18:43
2004.08.22
Милисекунды в TDateTime


4-1089124563
Buster
2004-07-06 18:36
2004.08.22
Как открыть стандартную панельку со свойствами файла-директории?


14-1091513636
olookin
2004-08-03 10:13
2004.08.22
Непроизвольная неправильная запись слов


4-1089286295
bar
2004-07-08 15:31
2004.08.22
В Cи можно а в Delphi?


14-1091096825
Baks
2004-07-29 14:27
2004.08.22
WebBrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский