powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как работать с очень большими масивами
25 сообщений из 315, страница 6 из 13
Как работать с очень большими масивами
    #39590185
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X64
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590224
rgreat,

И как? Где его взять, или как запустить на том же Берлине или Токио (про 7 вообще молчу)? В выпадающем списке только win 32.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590239
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010Данные размещать не в стеке его не хватит: в x32 16 МБ максимум Что, простите?
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590248
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревичrgreat,

И как? Где его взять, или как запустить на том же Берлине или Токио (про 7 вообще молчу)? В выпадающем списке только win 32.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590277
rgreat,

Отлично, спасибо, а то не мог найти где эта настройка). Правда после Делфи сразу крашнулся без выведения ошибок :), а теперь пишет в логе "Успех" и ничего не происходит). Но уже прогресс.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590288
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весело у тебя там.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590449
rgreat,

В общем попробовал на другом компе Берлине, при попытке компиляции с 2 массивами превышающими 1,5 gb каждый всё крашится: делфи крашится, программа крашится, модули системные и те крашатся. При том даже в 64 битной версии сделать один массив более 2 ГБ не дает.


Что делать, как быть? Как дальше жить?
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590454
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой у тебя хоть тип-то "больше 2 гб"?

Телепатией не владею.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590461
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейдbk0010Данные размещать не в стеке его не хватит: в x32 16 МБ максимум Что, простите?Попробуйте, сюрприз будет.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590473
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010Попробуйте, сюрприз будет.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
program Project1;

{$APPTYPE CONSOLE}
{$MAXSTACKSIZE $10000000} // 256Mb

procedure surprise;
var a: array[1 .. 1024 * 1024 * 128] of byte; // 128Mb
begin
 writeln(sizeOf(a), ' bytes on the stack');
end;

begin

 surprise;
 readln;

end.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590476
rgreat,

rgreat,

Да всё то же самое, что и начале темы.

Андрей ИгоревичМассив задан записью: рекорд[1..3] of рекорд[1..20] of рекорд[1..60] of рекорд[1..60] of рекорд[1..163] of рекорд[1..312] of real с кучей побочных параметров на каждом уровне.

Ну только теперь
Код: pascal
1.
 рекорд[1..2] of рекорд[1..60] of рекорд[1..60] of рекорд[1..163] of рекорд[1..331] of real 


если это что-то меняет :).
Мне либо так задать, либо просто два раза по
Код: pascal
1.
рекорд[1..60] of рекорд[1..60] of рекорд[1..163] of рекорд[1..331] of real 


В первом случае ругается, во втором - крашится.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590477
rgreat,

В общем то банальный
Код: pascal
1.
array [1..300000000] of real;


тоже выдаёт ограничения в 2 ГБ, правда несколько таких массивов не крашат делфи.
Размер стека поставил на максимум разрешенного.

В принципе можно и обычными массивами обойтись для конкретно этой задачи, но всё-таки, чего он не работает-то :)
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590482
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexeybk0010Попробуйте, сюрприз будет.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
program Project1;

{$APPTYPE CONSOLE}
{$MAXSTACKSIZE $10000000} // 256Mb

procedure surprise;
var a: array[1 .. 1024 * 1024 * 128] of byte; // 128Mb
begin
 writeln(sizeOf(a), ' bytes on the stack');
end;

begin

 surprise;
 readln;

end.

А Delphi у вас какая?
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590483
rgreat,
как же не хватает возможности редактировать пост, а не заниматься "оверпостингом".

О вышла ошибка до краша делфи "stack_oveflow", хм, при каждой компиляции программы Делфи ведет себя по разному :).
И как мне уже с этой бедой бороться, если уже стоит максимальный размер стака.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590487
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010А Delphi у вас какая?
2006
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590488
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Самое время отказаться от статических массивов и перейти на динамические.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590493
Kazantsev Alexey,

Чтоб программа крашилась не сразу, а к моменту превышения некой величины? Не очень хочется иметь такою нестабильную программу. Крупные обрабатываемые файлы как раз забивают всю указанную выше запись.

По сути чтоб программа не работала достаточно такого кода

Код: pascal
1.
2.
3.
4.
5.
6.
var
  a,b:array [1..200000000] of real;
begin
a[1]:=1;
b[1]:=1;
end.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590494
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyАндрей Игоревич,

Самое время отказаться от статических массивов и перейти на динамические.

Святые слова
Перейдя на такие языки, я жутко морщился от статических массивов ! Привык я к динамическим, они очень удобные ! И памяти не жрут за раз дофига если надобно
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590495
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Это баги компилятора
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590496
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичЧтоб программа крашилась не сразу, а к моменту превышения некой величины?
Чтобы не упираться в ограничение на размер статических типов.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590524
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич
Код: pascal
1.
array [1..200000000] of real;

Не надо так делать и все заработает.
Если памяти у вас хватит.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590614
rgreat,

Что-то не особо оно работает. В итоге делфи завис и только убивать через диспетчер. Памяти должно хватать.


НяшикЭто баги компилятора

И как быть?
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590642
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ИгоревичИ как быть?Кто сказал что должно хватать? Нужны непрерывные участки, а таких может и не быть (особенно в W10 FCU).
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590643
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Игоревич,

Не знаю, что у вас там и как. Попробовал на XE6, выполнилось без особенностей.
...
Рейтинг: 0 / 0
Как работать с очень большими масивами
    #39590647
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

да, может в этом и проблема. что памяти не хватает. что бы кусок выделить целиком. у меня схавало без вопросов.
скорее всего многомерные массивы придётся делать.
...
Рейтинг: 0 / 0
25 сообщений из 315, страница 6 из 13
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как работать с очень большими масивами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]