Может ли manage_mapped_file увеличить размер файла из-за распределения?

Я хочу работать с файлами с отображением памяти, используя boost::interprocess::managed_mapped_file. Но не могу найти в документации подробностей о выделении им памяти.

А именно, я хочу знать, завершается ли allocate() ошибкой boost::interprocess::bad_alloc, если вся память, указанная при создании объекта boost::interprocess::managed_mapped_file (фактически размер файла), уже выделена или нет достаточно большой последовательности доступной памяти, или она просто увеличивает размер файла .

Если не получится, как заставить увеличить размер файла (скажем увеличить в два раза)?


person Mihran Hovsepyan    schedule 07.08.2014    source источник


Ответы (1)


Вы можете увеличить файл отображения памяти, но не тогда, когда он отображается другими процессами. Всем клиентам обычно приходится переназначать файл.

Слегка связано: boost::interprocess::managed_shared_memory: Grow(): Memory Использовали повторно?

person sehe    schedule 07.08.2014