О статической линковке программ
Есть ли сейчас такие дистрибутивы и не пора ли к ней вернуться?
Одна страница
Распечатать
Вопрос: а есть ли сейчас дистрибутивы Linux, где используется статическая линковка приложений? Я нашел только один: Sta.li, но там только ядро и минимум системных утилит, и нет даже X Serverа.
А то у меня сложилось впечатление, что сейчас каждая программа линкует такое огромное количество библиотек, что вместо экономии памяти (для чего, собственно, когда-то и были придуманы so или dll) получается обратный эффект: из-за округления по границам страниц памяти теряется больше, чем если бы программа линковалась статически. Не говоря уж о том, что это увеличивает время запуска и ухудшает быстродействие. Особенно удивляет то, что в so выносят функции системных вызовов типа open/read/write, хотя подобное, на мой взгляд, вообще должно делаться inline-функциями, чтобы в бинарный код подставлялись только команды вида MOV EAX,номер; MOV EBX, параметр; INT 80h; и ничего более, как это было в MS-DOS, а не call на совершенно другую страницу (кстати, по объему кода это получилось бы примерно одинаково, плюс не было лишних операций по заталкиванию извлечению данных из стека).
А то у меня сложилось впечатление, что сейчас каждая программа линкует такое огромное количество библиотек, что вместо экономии памяти (для чего, собственно, когда-то и были придуманы so или dll) получается обратный эффект: из-за округления по границам страниц памяти теряется больше, чем если бы программа линковалась статически. Не говоря уж о том, что это увеличивает время запуска и ухудшает быстродействие. Особенно удивляет то, что в so выносят функции системных вызовов типа open/read/write, хотя подобное, на мой взгляд, вообще должно делаться inline-функциями, чтобы в бинарный код подставлялись только команды вида MOV EAX,номер; MOV EBX, параметр; INT 80h; и ничего более, как это было в MS-DOS, а не call на совершенно другую страницу (кстати, по объему кода это получилось бы примерно одинаково, плюс не было лишних операций по заталкиванию извлечению данных из стека).
Одна страница
Распечатать У вас нет прав для отправки сообщений в эту тему.