Я пытаюсь выяснить, как переназначить файлы с отображением памяти на Mac (когда я хочу расширить доступное пространство).
Я вижу, что у наших друзей в мире Linux есть mremap
, но я не могу найти такую функцию в заголовках на моем Mac. /Developer/SDKs/MacOSX10.6.sdk/usr/include/sys/mman.h
имеет следующее:
mmap
mprotect
msync
munlock
munmap
- но нет
mremap
man mremap
подтверждает мои опасения.
В настоящее время мне нужно munmap
и mmmap
, если я хочу изменить размер сопоставленного файла, что включает в себя аннулирование всех загруженных страниц. Должен быть лучший способ. Конечно?
Я пытаюсь написать код, который будет работать на Mac OS X и Linux. Я мог бы согласиться на макрос, чтобы использовать лучшую функцию в каждом случае, если бы мне пришлось это сделать, но я бы предпочел сделать это правильно.