C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проблемма экономии памяти
Хлор
Отправлено: 19.08.2004, 07:33


Дежурный стрелочник

Группа: Участник
Сообщений: 78



Доброго времени суток, господа.


Вот задался таким вопросом, а как с памятью обращаться по экономичней. Ведь простое окно уже примерно 1мб съедает и не важно на чем написанно оно на Delphi, CBulilder или Аpi.
Я так понимаю, сама винда не позволяет сделать меньше.
Хотя видел как-то прогу, которая кушала всего 400кб...

.... Думаю может кто знает как с этим бороться или какие у кого мысли есть ?
Asher
Отправлено: 19.08.2004, 10:33


Мастер участка

Группа: Модератор
Сообщений: 550



Свернутое приложение кушает гораздо меньше biggrin.gif
Так что можно писать невизуальные программы.
А интерфейс к ним через TCP.
Тогда за вашу прогу будет жрать браузер, но его можно выгнать на другую машину.

P.S. Это все если вопрос экономии стал в полный рост, а не просто из 256-512 Мб на активную прогу 1 Мб жалко. wink.gif

P.P.S. многие выросли/выучились на DOS с ее 640. Теперь комплекс бедности блин мешает... А я на Builder вообще с контроллеров. Меня знаешь как все это напрягало? Но я себя преодолел. biggrin.gif biggrin.gif biggrin.gif
Konstantine
Отправлено: 19.08.2004, 11:27


Мастер участка

Группа: Модератор
Сообщений: 545



если писАть в чистом АПИ то меньше выйдет, но задолбаешься всё описывать. так что лучше на стандарт не смотри, а оптимизимуй то что САМ пишешь (буфера, временные переменные, счетчики как-то группируй) а там капля по капле и наберётся (лучше всего поменьше использовать строковые, а после того как уже не нада — обнуляй) а когда подобные действия войдут в привычку, то и получишь результат.

PS: скрытые компоненты тоже кушают память не меньше нормальных, поэтому их лучше создавать динамически, равно как и формы (кроме главной)
timson
Отправлено: 19.08.2004, 12:52


Станционный диспетчер

Группа: Участник
Сообщений: 82



вообщето прога должна кушать (если нет динамического выделения памяти) примерно размер ехешника. я так думаю, что туда еще приплюсовывается пямять под стек (в Win как раз ~ 1мб)..

Konstantine правильно мыслит.

смысл есть (для твоего вопроса), если прога втрее сидит, иль постоянно работает...

а еще посмотри труд Криса Касперского: "Техника оптимизации программ. Эффективное использование памяти"..

P.S. маленькие проги писать лучше на API

Отредактировано timson — 19/08/2004, 15:16
Хлор
Отправлено: 19.08.2004, 23:51


Дежурный стрелочник

Группа: Участник
Сообщений: 78



smile.gif Всем спасибо за ответы.. Ну в принципе все так и делаю. Просто думал может есть радикальные какие-то меры. Но все же спасибо
klen
Отправлено: 21.08.2004, 00:38


Машинист паровоза

Группа: Участник
Сообщений: 239



Ну можно линкеру сказать чтоб он в PE заголовках писал размер заказываемого стека меньше, если уверен что глубина вложенных функций не велика.
Sl@Sh
Отправлено: 21.08.2004, 07:47


Мастер участка

Группа: Участник
Сообщений: 383



А ты попробуй в хелпе билдера порыться. Там хорошо описаны настройки линкера, которые могут уменьшить размер ЕХЕ и занимаемой оперативки. Мне немного помогло.

Удачи...
Guest
Отправлено: 21.08.2004, 21:42


Не зарегистрирован







<<просто думал может есть радикальные какие-то меры. но все же спасибо `

Радикальное средство от насморка — гильотина...

Вернуться в Вопросы программирования в C++Builder