Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
14-95008
Cranium
2003-05-12 15:44
2003.05.29
Описание, хелпы ActionManager, ActionMainMenuBar, ActionToolBar


1-94903
rosl
2003-05-14 17:21
2003.05.29
excel


1-94922
Holy
2003-05-17 16:03
2003.05.29
Как провести перекодировку из UTF-7 ?


1-94869
Marina_S
2003-05-20 09:53
2003.05.29
Как расположить на форме документ HTML?


14-95034
Vlad Oshin
2003-05-08 11:43
2003.05.29
а каким софтом можно склеить 2 mpeg(видео) файла?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский