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