Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > ограгичения на массивы в С++


Автор: Elena 1.11.2003, 23:59
Пишу прогу в C++ Builder 6.0

Мне нужны очень большие массивы.
Скажем одновременно в памяти должно быть
порядка 5 массивов из 3200 элементов каждый
тип long double.

Наткнулась на неприятную ошибку - компилятор
не ругается на размерность массивов, но начинает
видимо где-то обрезать массив и скажем
какой-то n-ый элемент пишет в первый.

Как с этим бороться и каковы ограничения на размерность
массивов. Кстати переход на float не спасает

Автор: Paradox 2.11.2003, 06:18
Создай массивы на куче

Автор: RAN 2.11.2003, 09:48
Почти всегда массивы создаются динамически (new/delete). Хотя по-идее для Windows не должно быть принципиальной разницы, потому что там вся память виртуальная (то есть динамичнее некуда smile.gif )

Автор: Elena 2.11.2003, 11:11
Paradox, по-подробнее, пожалуйста.

Автор: Elena 2.11.2003, 11:17
RAN, спасибо, попробую действительно в лоб выделить под них память
может поможет, хотя действительно, думаю что это то же самое.

Автор: neutrino 2.11.2003, 15:35
А может что-то в Вашем коде не такconfused.gif

Автор: Ars 3.11.2003, 13:30
Цитата
Мне нужны очень большие массивы.
Скажем одновременно в памяти должно быть
порядка 5 массивов из 3200 элементов каждый
тип long double.

5*3200*10=160000 байт - это ли большой массив. Было как то раз, и 1 мег в стеке сидел и то ничего.
Дело, имхо, в неверном коде, что косвенно подтверждается и тем, что "какой-то n-ый элемент пишет в первый".

Автор: DENNN 4.11.2003, 12:28
Цитата
Дело, имхо, в неверном коде,

Да с самого начала понятно что в коде, просто человек не хочет код в форум копировать.

Автор: val 4.11.2003, 12:44
Если уж совсем не получается работа с такими массивами, то рекомендую использовать файлы для их храния, а необходимый массив подгружать с винта, когда он будет нужен...

Автор: RAN 4.11.2003, 22:18
val, самопальный виртуальный массив. Зачем реализовывать то, что уже есть в системе. ОС выполнит эти функции эффективнее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)