Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2010, 14:36   #1
HollyPaladin
Пользователь
 
Аватар для HollyPaladin
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию Файлы отображаемые в память

Добрый день. Я в своей программе использую функции CreateFile,CreateFileMapping,MapVie wOfFile для ускорения чтения из файлов большого размера.Я открывал файл размером 3гб и мне удавалось по частям отображать его в память процесса, максимальный размер отображения получался около 500 мб. Чтобы моя программа могла работать на разных машинах мне необходимо в программе определять максимальный размер отображения функцией MapViewOfFile для данной машины и затем по частям отображать файл в память процесса и там работать с ним. Подскажите как это можно сделать и от чего зависит максимальный размер отображения функцией MapViewOfFile.
HollyPaladin вне форума Ответить с цитированием
Старый 24.08.2010, 14:53   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Remarks

Mapping a file makes the specified portion of a file visible in the address space of the calling process.

For files that are larger than the address space, you can only map a small portion of the file data at one time. When the first view is complete, you can unmap it and map a new view.

To obtain the size of a view, use the VirtualQuery function.
И не понятно с чего вы взяли что
Цитата:
для ускорения чтения из файлов большого размера
функции именно для этого, т.к. это не так. По сути отображение файла есть ничто иное, как превращение данных файла на жестком диске в ОЗУ )) т.е. доступ по указателю (адресу) и работа как с обычным куском памяти без необходимости потом сливать на жесткий диск.
BOBAH13 вне форума Ответить с цитированием
Старый 25.08.2010, 15:09   #3
HollyPaladin
Пользователь
 
Аватар для HollyPaladin
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию

Спасибо я разобрался.
Цитата:
И не понятно с чего вы взяли что
Цитата:для ускорения чтения из файлов большого размера

функции именно для этого, т.к. это не так.
У меня скорость чтения из файла выросла в 2 раза.
HollyPaladin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Память Ghennadiy Общие вопросы Delphi 9 25.08.2009 09:23
Динамическая память. Пaвeл Помощь студентам 16 31.05.2009 21:16
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53