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

