Page 1 of 1

Amsidiel (MCDL)

Posted: Sat Mar 27, 2010 4:46 pm
by Nasarus
Здравствуйте. Может это и полная чушь, то что я здесь напишу, но все же...
KolibriOS - это, как известно, OpenSource Project, и как в любом ОпенСорсе, иногда возникает проблема, связанная с тем, что некоторые разработчики паралельно развивают одни и те же библиотеки. Понятно, что таким образом эти библиотеки со временем становятся несовместимыми друг с другом. А это вызывает ошибки и сбои в системе, т.е. в одном варианте лайбрари есть одни функции которые нужны в программе, а в другом их нет, но есть другие. Получается как-бы косяк, который в Wind'e исправляет WinSxS.
Помимо этой проблемы есть и ряд других: со временем библы в КолибриОС станут довольно большими и чтобы например исправить в них ошибки или обновить, придется долго качать из сети корявые патчи/фиксы или обновленные версии; или например, чтобы добавить в какую-то Lib ПАРУ своих функций/процедур/ресурсов (не всегда завиcящих от библиотечных), разработчику придется копатся в куче не нужного ему кода, чтобы добавить туда пару строчек кода, а потом долго компилить и , возможно, исправлять чужие ошибки в коде. В общем, трудностей не перечесть, а с развитем КОС их будет все больше и больше.
Собственно, поэтому предлагаю следующий проект для обсуждения (если вам охота пофлудить или maybe интересно):
Modular Code/Data Library (MCDL) - Модульная библиотека, в виде одного файла, который состоит из (не)зависимых модулей. А с модулями этими можно будет творить что-угодно: удалять, изменять, бэкапить их перед обновлением или использовать несколько версий одного модуля, блокировать и многое другое. Также каждый модуль будет иметь кучу параметров (версия, чексумма, дата, размер, ID и т.д.). При этом будет гибкая адресация модулей: через идентификатор AND/OR номер версии AND/OR название модуля AND/OR возвращаемое значение и т.д. и т.п. Короче система эта будет ОЧЕНЬ ГИБКОЙ и СОВМЕСТИМОЙ СНИЗУ-ВВЕРХ.
Жду ваших замечений и критику.

Re: Amsidiel (MCDL)

Posted: Sun Mar 28, 2010 4:26 pm
by Nasarus
Я был бы рад узнать ваше мнение на вышенаписанное. Хотя бы насмешки услышать :)

Re: Amsidiel (MCDL)

Posted: Mon Mar 29, 2010 2:04 am
by art_zh
А над чем смеяться-то?
Пока что ничего конкретного не видно, одна только неудобочитаемая аббревиатура + общий трёп.

Добавление/удаление функций - третьестепенный вопрос во всех библиотеках.
Главные вопросы - принцип линковки? Стандарт передачи параметров? Метод релокации адресов? Разделение системных ресурсов?

Для начала попробуй ответить на эти, базовые вопросы - и тогда многие из твоих (в общем, вполне резонных) замечаний отпадут сами собой.

Например, статически-линкуемые библиотеки в принципе не могут быть скомпонованы "в один большой файл".
А в динамической библиотеке в принципе не должно быть разных версий одной и той же функции...

Re: Amsidiel (MCDL)

Posted: Mon Mar 29, 2010 4:08 am
by Nasarus
Извиняюсь, но развитие этой темы откладывается на неопределенный срок...