![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
chereppiter |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 30 Регистрация: 12.11.2012 Пользователь №: 3595 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Народ, в Qt есть какие-нибудь функции/классы для работы с виртуальной памятью? Что-нибудь наподобие VirtualAlloc в Win32 API. Есть необходимость выделять в программе большие объёмы памяти, теоретически до нескольких гигабайт.
|
|
|
![]() |
chereppiter |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 30 Регистрация: 12.11.2012 Пользователь №: 3595 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Эммм... Не знаю, подойдут или нет - не доводилось ещё их использовать. На самом деле проблема в следующем: в программе нужно временно хранить большие объёмы данных, причём сами данные постоянно меняются (одни данные устарели, на их место можно записать новые). В принципе, можно было бы воспользоваться QTemporaryFile и хранить данные во временных файлах, но есть опасения, что постоянные операции чтения-записи на жёсткий диск сильно замедлят работу приложения, а оно критично к скорости. Поэтому и хотелось воспользоваться каким-то механизмом типа виртуальной памяти, чтобы основная масса операций всё-таки происходила в оперативной памяти и лишь при необходимости использовался жёсткий диск. А как тут использовать отображаемые в память файлы, мне не совсем понятно. Насколько я понимаю, файл должен уже существовать перед началом его отображения. Ну или его можно сначала создать, но он же должен иметь максимально возможный размер? А хотелось бы, чтобы он увеличивался или уменьшался по мере необходимости.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 2.3.2025, 3:29 |