Я пытаюсь выяснить, как переназначить файлы с отображением памяти на 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. Я мог бы согласиться на макрос, чтобы использовать лучшую функцию в каждом случае, если бы мне пришлось, но я бы предпочел сделать это правильно.