Войти

Показать полную графическую версию : Динамическо выделение памяти


ill
28-11-2003, 11:31
Консольное приложение на VC 5.0 под управлением Win9x не может выделить более чем 200Мб памяти, что примерно соостветствует свободному объему ОЗУ. Изменение параметров виртуальной памяти (увеличение размера файла подкачки вручную) результата не дает. Под nt-подобными системами такой проблемы не возникает.

Буду рад услышать любые соображения по этому поводу.

pva
01-12-2003, 15:14
#include <windows.h>

два варианта:

1. Попробуй уменьшить ProcessWorkingSet - это колличество страничек, которые находятся в оперативке. (смотри по индексу windows SDK)

2. используй функцию VirtualAlloc. Она способна выделить столько, сколько у тебя свапа. Приготовься с порно-свапу!

3. Используй GlobalAlloc, но: как можно меньше размером делай GlobalLock и указывай везде, где спрашивают тип памяти GMEM_MOVEABLE.

4. Лучший вариант - используй меньше памяти.

ill
04-12-2003, 12:56
Работает )
Спасибо.




© OSzone.net 2001-2012