RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > где-то чуть раньше мелькало, что все эти библиотеки можно добавлять руками простым копированием. то есть там никакого хитрого механизма нет. почему бы не выкладывать программы с разу с набором работающих библиотек чтобы они находились в текущем рабочем каталоге. чтобы при работе программа искала всё нужное в своём каталоге а не рыскала по диску в поисках места свалки библиотек. > > Выкладывать такое абсолютно не вопрос. В конце концов ты можешь сам взять rpm'ы по списку и сделать один архив. И автоматизируется это на раз. Выкладыватели всего лишь стремятся, чтобы дистрибутив не только распаковался, но и программа потом работала. А вот работоспособности в таком дистрибутиве потенциально (а на практике и очень даже кинетически) мешают сразу две вещи: > > 1) Ядерный загрузчик исполняемых файлов в начале рыскает по памяти, а только потом, если модуль с нужным именем ещё не загружен, по диску. В результате обычное дело получить в процесс библиотеку совсем не из своего каталога и неопределённые последствия. > > 2) Не все библиотеки вообще допустимо загружать одновременно. В смысле не в один процесс, а в систему. Самый яркий пример в этом плане - это kLibc. > > > > Должен сказать, что такой подход как-то не очень применяется и в более мейнстримных системах, где загрузчик имеет в приоритете диск и софт при обнаружении общесистемных несовместимостей принято исправлять (ой, не всегда :) ). Но вот почему-то ни разу не видел, чтобы даже под Windows, где главное пользователя не перенапрячь, кто-то тащил всякие VC redistributable и .NET runtime в собственном каталоге. Падаюшие и зависающие при установке дистрибутивы этих библиотек - это видел. Не написать нигде, что они вообще софтине нужны (про инструкции откуда брать можно и не заикаться) - в порядке вещей. Но ничего, весь мир терпит и называет дружественным к пользователю. > > тогда вопрос: а почему же пишут, что программы работают каждая в своём изолированном пространстве? то есть, по-идее, они в своём пространстве и должны искать нужные модули? а если их там нет, то загружать из своего каталога. можно же в конфиге в пути первым пунктом поставить точку (вы уже конечно написали, что ядро ищет сначала в памяти, получается, что параметры конфига игнорируются?).
__, _,_ __, _,_ _,
|_) | | | \ | / /_\
| \ | | |_/ |/ | |
~ ~ `~' ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.