Максимальный размер массива в 32 битном приложении MAX DIM

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Constantine
Бывалый
Сообщения: 76
Зарегистрирован: 07 Февраль 2017, 16:58

Максимальный размер массива в 32 битном приложении MAX DIM

Сообщение Constantine » 05 Июль 2018, 17:00

Функция обработки - на Clarion... Так надо...

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 1965
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Максимальный размер массива в 32 битном приложении MAX DIM

Сообщение Дед Пахом » 05 Июль 2018, 17:03

Constantine писал(а):
05 Июль 2018, 17:00
Функция обработки - на Clarion
А "PASCAL" тогда накой?
С уважением, ДП

Constantine
Бывалый
Сообщения: 76
Зарегистрирован: 07 Февраль 2017, 16:58

Максимальный размер массива в 32 битном приложении MAX DIM

Сообщение Constantine » 05 Июль 2018, 17:05

Эту функцию вызывают и из Clarion, и из Delphi.

Constantine
Бывалый
Сообщения: 76
Зарегистрирован: 07 Февраль 2017, 16:58

Максимальный размер массива в 32 битном приложении MAX DIM

Сообщение Constantine » 09 Июль 2018, 14:10

Итак, резюме...
В итоге, все получилось через NEW CSTRING: резервируется сколько надо, пишется, сколько надо. Практический потолок, как и говорил Юра Философов, около 800 Мб. В принципе, можно и больше, но если памяти остается слишком мало, начинаются чудеса с вызовом функций: видимо, не хватает памяти на переключение контекста.
NEW STRING: резервируется, сколько надо, пишется, в зависимости от обстоятельств, 50 - 100 Мб.
Функции API (malloc, LocalAlloc, HeapAlloc) почему-то не резервируют память свыше определенного объема.
VirtualAlloc - не пробовал.
Как-то так...
Надеюсь, кому-нибудь поможет...

Ответить