Максимальный размер массива в 32 битном приложении MAX DIM
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Активист
- Сообщения: 185
- Зарегистрирован: 07 Февраль 2017, 16:58
Максимальный размер массива в 32 битном приложении MAX DIM
Функция обработки - на Clarion... Так надо...
Constantine
- Дед Пахом
- Старичок
- Сообщения: 3302
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Дед Пахом
-
- Активист
- Сообщения: 185
- Зарегистрирован: 07 Февраль 2017, 16:58
Максимальный размер массива в 32 битном приложении MAX DIM
Эту функцию вызывают и из Clarion, и из Delphi.
Constantine
-
- Активист
- Сообщения: 185
- Зарегистрирован: 07 Февраль 2017, 16:58
Максимальный размер массива в 32 битном приложении MAX DIM
Итак, резюме...
В итоге, все получилось через NEW CSTRING: резервируется сколько надо, пишется, сколько надо. Практический потолок, как и говорил Юра Философов, около 800 Мб. В принципе, можно и больше, но если памяти остается слишком мало, начинаются чудеса с вызовом функций: видимо, не хватает памяти на переключение контекста.
NEW STRING: резервируется, сколько надо, пишется, в зависимости от обстоятельств, 50 - 100 Мб.
Функции API (malloc, LocalAlloc, HeapAlloc) почему-то не резервируют память свыше определенного объема.
VirtualAlloc - не пробовал.
Как-то так...
Надеюсь, кому-нибудь поможет...
В итоге, все получилось через NEW CSTRING: резервируется сколько надо, пишется, сколько надо. Практический потолок, как и говорил Юра Философов, около 800 Мб. В принципе, можно и больше, но если памяти остается слишком мало, начинаются чудеса с вызовом функций: видимо, не хватает памяти на переключение контекста.
NEW STRING: резервируется, сколько надо, пишется, в зависимости от обстоятельств, 50 - 100 Мб.
Функции API (malloc, LocalAlloc, HeapAlloc) почему-то не резервируют память свыше определенного объема.
VirtualAlloc - не пробовал.
Как-то так...
Надеюсь, кому-нибудь поможет...
Constantine
- Дед Пахом
- Старичок
- Сообщения: 3302
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Максимальный размер массива в 32 битном приложении MAX DIM
В ньюс-группах всплыла та же проблема с очень большими строками. Предлагается использовать LARGE_ADDRESS в EXP файле для увеличения виртуального адресного пространства.
С уважением, ДП
Дед Пахом
Дед Пахом
vic7tar
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)