Форум: "Потрепаться";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизПамять, занимаемая программой Найти похожие ветки
← →
Пастор (2003-05-11 18:31) [0]Написал простейшую прогу с одним окном на чистом API, после компиляции размер ехе-файла получился 8k, при запуске программы они занимает оперативной памяти почти 2 мб !
Вопрос, возможно ли как то уменьшить объем используемой оперативной памяти ?
← →
Anatoly Podgoretsky (2003-05-11 18:38) [1]Это размер не используемой памяти, а размер резервированной памяти, сюда входит размер системных библиотек.
← →
Пастор (2003-05-11 19:55) [2]Ну и как сделать, что бы ее резервировалось меньше ?
← →
Anatoly Podgoretsky (2003-05-11 20:12) [3]А чего должно волновать резервирование, ради морального удовлетворения.
← →
Пастор (2003-05-11 20:19) [4]программа висит в памяти все время, потому лишние пару мегобайт могут быть далего не лишними тем у кого не продвинутые компьютеры
← →
Nick Denry (2003-05-11 20:59) [5]Ты уверен? Может че нибудь не так? У меня например просто окно больше 30 кб в памяти не занимало. [D7,win98,winXP].
Опять, смотря чем смотришь. Виндовый диспетчер одно показывает,NU System Information - другое. Смотри внимательней.
А потом если это действ. резервирование - тогда забей. Главное чтобы после выхода все освобождалось. Мало ли кто кода выйти захочет..........
← →
Anatoly Podgoretsky (2003-05-11 21:22) [6]Пастор (11.05.03 20:19)
Это не ДОС где вся программа загружается в память, реальнее предположить, что в основном твоей программы вообще не будет в памяти или будет только минимум.
← →
default (2003-05-11 21:39) [7]Anatoly Podgoretsky © (11.05.03 21:22)
естественно!
to Пастор
дык на это есть файл подкачки
← →
Anatoly Podgoretsky (2003-05-11 22:02) [8]Который тоже является побманным. Проводил как то эесперимент, размер по монитору 128 мб, физический размер на диске 0.
Точно про память знает только ядро.
← →
Morfein (2003-05-12 03:10) [9]Чтобы программа занимала меньше памяти, её надо на ассемблере писать(что не есть сложно, если у тя там "чистый API") и подумывать о выгрузке любой библиотеки сразу после использования её функций... Потому что может быть твоей программе и на фиг не нужны ADVAPI32, COMCTL32, GDI32, OLE32 и OLEAUT32, которые изначально прилинковываются к программе...
← →
Anatoly Podgoretsky (2003-05-12 08:45) [10]Morfein © (12.05.03 03:10)
Вот это и есть ради морального удовлетворения, этим память не съкономишь, эти библиотеки всегда загружены, а вот неприятности можешь схлопотать.
← →
НАХАЛ (2003-05-12 10:16) [11]Выделяй динамически память, и как сказано выше, освобождай память сразу после того, как закончишь использовать объект
← →
Danilka (2003-05-12 10:21) [12]НАХАЛ (12.05.03 10:16)
угу, что лучше, тормоза или лишние сьеденые пара сотен килобайт?
надо всегда смотреть по задаче.
← →
Mirovodin (2003-05-12 10:45) [13]Дело действительно в dll -ках.
Написал на асме простое окно + RichEdit , используется kernel32 gdi32, user32, comctl32 и comdlg32 ~ 1200 Кб по TaskManager в 2000. Выкидываем RichEdit - ~ 800 Кб.
← →
han_malign (2003-05-12 11:41) [14]Могу еще посоветовать не использовать открытые массивы и строки, под них стопудово предвыделяется память, для уменьшения перевыделений (и фрагментации памяти) при изменении размера...
← →
Morfein (2003-05-12 12:53) [15]>>Mirovodin
Спасибо за поддержку...
Причём тут открытые массивы, если OLE32 + OLEAUT32 вместе весят почти полтора мегабайта и нафиг в простой программе не нужны?!
← →
Игорь Шевченко (2003-05-12 12:56) [16]Morfein © (12.05.03 12:53)
> Причём тут открытые массивы, если OLE32 + OLEAUT32 вместе
> весят почти полтора мегабайта и нафиг в простой программе
> не нужны?!
Будь уверен, места они "в простой программе" не занимают.
← →
Morfein (2003-05-12 13:05) [17]Если программа на delphi, то полновесно занимают! Достаточно посмотреть список загруженных модулей!
← →
Danilka (2003-05-12 13:12) [18]Morfein © (12.05.03 13:05)
Советую перечитать:
Anatoly Podgoretsky © (12.05.03 08:45)
Думать над словами "эти библиотеки всегда загружены" до тех пор, пока не достигнешь просветления и не впадешь в нирвану.
← →
Eraser (2003-05-12 14:27) [19]На Visual С++ простой редактор 13kb весит.
<font size=20 color=red>C++ Rules</font>
← →
Думкин (2003-05-13 12:43) [20]Самое страшное - любая дура программа уверена что имеет право на 4 Гигабайта. Вот ведь. :-(
← →
Карелин Артем (2003-05-13 12:50) [21]Думкин © (13.05.03 12:43)
Больше 2-х гигов не получит. Я проверял.
← →
Ihor Osov'yak (2003-05-13 12:58) [22]2 Карелин Артем © (13.05.03 12:50)
Я не был-бы настолько уверен.
Смотрим W2K Advanced Server and DataCenter Server об использовании параметра /3GB, который в boot.ini
А также делаем поиск в msdn по ключевой фразе Address Windowing Extensions (AWE)...
← →
Думкин (2003-05-13 13:00) [23]
> Карелин Артем © (13.05.03 12:50)
> Больше 2-х гигов не получит. Я проверял.
> Ihor Osov"yak © (13.05.03 12:58)
Верит. Другое дело что про это система думает, и что позволит. %-)
← →
Ihor Osov'yak (2003-05-13 13:06) [24]2 Думкин © (13.05.03 13:00)
Комментарий был на тему "Больше 2-х гигов не получит. Я проверял." И мелкая подсказка на тему, как с этим пределом бороться..
← →
Карелин Артем (2003-05-13 13:55) [25]Проверялось на 2000"ws и на сервере (не Advanced). Ну а 9Х и гига просто так не даст в память засунуть...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.011 c