Доброго всем времени суток!
Очередной глупый вопрос. Допустим на чистом Си мне надо работать с подобием динамического массива. Массив ОЧЕНЬ большой. Где гарантия того, что один и тот же исходник скомпиленный под win32 скажем в Quincy и в Linux будет одинаково способен переварить этот массив. Понимаю, что ситуация скорее гипотетическая, но всё же. Где ограничения на возможные размеры выделяемой памяти? В менеджере памяти самой ОС? Т. е. понятно, что кто-то скажет "хватит" быстрее своего оппонента. Как спрогнозировать возможности? Или пока не попробуешь не узнаешь?
Пределы и ограничения malloc() free()
Модератор: Модераторы разделов
-
- Сообщения: 438
- Статус: Подопытный участник
Re: Пределы и ограничения malloc() free()
Это в какой-то степени зависит от разрядности системы и объемов доступной оперативной памяти.
¡ Страсть к разрушению есть творческая страсть!
-
- Сообщения: 860
- Статус: Оператор вычислительных машин
- ОС: Debian
Re: Пределы и ограничения malloc() free()
И ещё вроде как от размера страницы. Кстати, как определить размер страницы?
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Пределы и ограничения malloc() free()
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
-
- Сообщения: 321
- Статус: Красен глаз -- темна душа
Re: Пределы и ограничения malloc() free()
Ну выдаст malloc NULL, в чем проблема?
А Вы в этом никакой проблемы не видите? (:
Мой компьютер зовут Марвин
-
- Сообщения: 1913
- Статус: zzz..z
Re: Пределы и ограничения malloc() free()
разве что при
Код: Выделить всё
$ cat /proc/sys/vm/overcommit_memory
2
а так, скорее всего, OOM-killer вмешается и из malloc'a уже никогда не вернетесь...
[x] close
-
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: Пределы и ограничения malloc() free()
Просто надо подумать, как решать задачу с ограниченным объемом памяти.
Desipere in loco