В Птн, 20/03/2009 в 00:47 +0300, Artem Chuprina пишет: > Покотиленко Костик -> [email protected] @ Thu, 19 Mar 2009 > 22:41:42 +0200: > > >> >> >> Как только ты на C выбираешь достаточно высокий уровень, ты > немедленно > >> >> >> получаешь высокоуровневый подъязык с неудобным синтаксисом и > >> >> >> ... правильно, все равно заботой о распределении памяти (почистить > за > >> >> >> тобой все равно никто не сможет). > >> >> > > >> >> > В GTK+, создаёшь виджет "окно", напихиваешь туда кучу других > виджетов, > >> >> > потом делаешь gtk_widget_destroy() на "окно", и освобождаешь его и > всех > >> >> > потомков одной командой. > >> >> > >> >> После чего в памяти навечно остаётся висеть какой-нибудь pixbuf, > >> >> используемый в каком-нибудь image. Поскольку понадеялись на > >> >> gtk_widget_destroy и документацию к gtk_image_new_from_pixbuf на > >> >> предмет освобождения памяти перечитывать не стали. > >> > >> ПК> Баги есть везде. Э про это не знаю, pixbuf'ом практически не > >> ПК> пользовался. > >> > >> "Этот баг у них фичей зовется." В смысле - документирован, а не > >> исправлен... > >> > >> Баги, конечно, есть везде. Но вот их количество в разных местах > >> различно. В больших проектах, написанных на C, помимо неизбежных для > >> всех языков ошибок в логике программы есть еще туча ошибок в глупостях > >> типа управления памятью. > > ПК> И это понятно, сначала научитесь управлять памятью, потом управляйте. > > ПК> На самом деле в приличных проектах от эффективности управления памятью > ПК> зависит всё. Если это управление от тебя не зависит, от тебя уже мало > ПК> что зависит. > > Посмешил. Вот приличные проекты, где от эффективности управления > памятью (в разумных пределах) ничего не зависит, мне попадались. А > чтобы всё - ни одного. Как минимум, потому что если проект таков, что > там что-то зависит от управления памятью, то от алгоритмов обработки > данных, в этой памяти лежащих, и логики принятия решений по распихиванию > в память зависит куда больше. > > Кстати, хинт: если твоя сишная программа работает в линуксе из-под > непривелигированного юзера, управление памятью от тебя уже не зависит...
Мы что про разные управления памятью говорим? -- Покотиленко Костик <[email protected]> -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

