#c #windows #memory-mapped-files
#c #Windows #файлы с отображением в памяти
Вопрос:
Я использовал SetFilePointer / SetEndOfFile для управления размером файлов, отображаемых в памяти, которые я получил. У меня была куча проблем с файловой системой Windows, реагирующей на быстрые изменения, которые мне иногда приходится вносить, но я думаю, что наконец-то освоился с этим.
В настоящее время кажется, что лучшим решением было бы создавать новый файл каждый раз, когда мне нужно увеличить / уменьшить мои данные (они должны временно сосуществовать со старым файлом), но другим потенциальным решением было бы, если бы я мог расширить файл и после того, как старый раздел потеряет свое значение, просто вырезать его. Это сделало бы все это аккуратным.
Я не смог найти ни одной ссылки на то, как я мог бы это сделать на самом деле. Также было бы возможно сохранить виды карты (указывающие на ту же новую часть, несмотря на то, что их фактическое положение в отношении начала файла отличается) на протяжении всего процесса изменения размера?
Комментарии:
1. Возможно… При необходимости увеличьте длину существующего файла. Сохраните смещение в заголовке существующего файла, указывающее на начало действительной даты. Оптимизируйте при необходимости.
2. Я наткнулся на интересную статью — flexhex.com/docs/articles/sparse-files.phtml