![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы |
![]() |
#1 |
Регистрация: 23.12.2007
Сообщений: 3
|
![]()
При передачи функции массива большой размерности (около 3 mb) вызывается исключение: SteckOverflow
Как этого избежать? |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Сделать массив глобальным для этой функции и не передавать через стек
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.12.2007
Сообщений: 137
|
![]()
Ну еще бы... Где это видано, чтобы массивы такого размера так прямо параметрами в подпрограмму передавали... Мало того, что переполнение стека может вызвать, так еще сколько времени копирование его в стек займет - страшно подумать. УКАЗАТЕЛЬ на массив передавать надо, это всего-навсего 4 байта, стек не переполнит. Для этого либо явно пропишите тип параметра - указатель, и передавайте при вызове адрес массива, либо просто объявите его как var-параметр (передача по ссылке. В этом случае указатель вместо самого массива будет передан неявно автоматически). Ну, т.е. если у вас подпрограмма выглядит как-нибудь так:
Код:
Код:
Код:
|
![]() |
![]() |
![]() |
Опции темы | |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с рекурсивным закрашиванием. Переполнение стэка. | prost | Помощь студентам | 7 | 02.06.2008 22:34 |
массивы, переполнение при делении | Alter | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 21.05.2008 20:11 |
Переполнение при возведении в степень | ruPy | Общие вопросы Delphi | 1 | 01.02.2008 19:21 |
Вычислить произведение элементов каждого столбца матрицы размерности n*n, находящаяся в строках | ZmeI | Помощь студентам | 2 | 17.12.2007 22:43 |
Заполнить одномерный целочисленный массив размерности n числами, введёнными с клавиатуры | AHTOXA | Помощь студентам | 4 | 06.06.2007 18:24 |
|
|
|