способ открыть и загрузить файл в память - PullRequest
0 голосов
/ 23 сентября 2011

Есть ли способ, которым я могу открыть и загрузить файл прямо в память? У меня есть много устаревшего кода, который открывает файл в сети, а затем делает ищет и читает из этого файла. Я хочу избежать чтения и поиска по сети. Следовательно, если бы я мог загрузить файл в память, при его открытии у меня могли бы быть эффективные поиски. Есть идеи? Я работаю с C на Linux.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2011

Как сказал Мэт, взгляните на функцию mmap.(Это, вероятно, более простой способ) http://linux.die.net/man/2/mmap

Если вы предпочитаете malloc, эта ссылка должна помочь вам: http://www.anyexample.com/programming/c/how_to_load_file_into_memory_using_plain_ansi_c_language.xml

2 голосов
/ 23 сентября 2011

Вы можете использовать функцию mmap или просто open и read все это в буфере, выделенном с помощью malloc.

Но, пожалуйста, сделайте тест. Вы можете получить очень небольшое (или вовсе не улучшить) улучшение от этой «ручной буферизации». ОС уже делает кеширование для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...