andrew_programmer wrote:С учётом реализации dll в KolibriOS лучше не применять её для реализации GUI.
Ну что за занудство... какая вообще вам, прикладникам, разница, как всё внутри ядра реализовано? И особенно не стоит закладываться на детали реализации при проектировании (которое тут вроде как и идёт). В последней ночной сборке детали реализации уже изменились, причём API всё то же, а вот позицию, основанную на доводах типа "текущая реализация dll - отстой", таки придётся пересматривать. vkos
Пристрастие к GPL, доходящее до такой степени, что в libini (которая под LGPL, что честно написано в шапке) включаются вспомогательные файлы с GPL в шапке, - это уже патология. В ночных сборках, кстати, поэтому libini берётся не из текущей ревизии репозитория.
Не хочу я быть 100% прикладником. Я временами изучаю устройство ядра. Конечно, реализации некоторых вещей меняются в KolibriOS и приходиться заново изучать. Некоторые вещи я ещё не изучил. Писать под KolibriOS программы не представляя как работает система мне не нравиться. Меня всю жизнь интересовал и интересует вопрос устройства всего, что есть и KolibriOS не исключение. Также меня интересует как улучшить то, что есть.
Про dll я имел ввиду, что в KolibriOS каждый поток загружает экземпляр dll в своё адресное пространство. С точки зрения безопасности это хорошо. Если стремится к экономии памяти, то 1 dll через расшаренную память на всех. Если dll размером в сотни килобайт, то лучше использовать библиотеку через расшаренную память. В таком случае делать экземпляры для каждого графического приложения невыгодно.
Last edited by andrew_programmer on Sat Nov 28, 2009 12:22 pm, edited 1 time in total.
Извиняюсь за оффтоп, но раз уж речь зашла про последнюю ночную сборку, то многие программы, использующие libini, перестали работать. Отсюда вопрос: это в реализации загрузки dll появилась ошибка, или libini кардинально изменился? Судя по тому, что и консольные приложения тоже не работают (а также список процессов) тут libini не виноват.
andrew_programmer
Приведённая информация, конечно, интересна для характеризации одного конкретного программиста, но совершенно не относится к тому, что впутывать детали реализации в проектирование того, что от этой реализации зависеть не должно, не следует. tsdima
Ну не всё же исправлять баги, надо их когда-то и вносить libini не менялся, а новые ошибки в загрузке библиотек вполне могли появиться. А можно поподробнее про "не работают"?
Не учёл некоторых важных деталей, в результате чего при выгрузке DLL при завершении процесса начинали твориться нехорошие вещи. svn.1292 должна вести себя получше.
diamond
По поводу libini - вернул старую версию, новую под лицензией GPL 3+ положил в framework/libconfig. Так что можешь спокойно использовать последнюю версию.