LINUX.ORG.RU

Анатомия динамических библиотек Linux

 ,


0

0

Динамически компонуемые совместно используемые библиотеки чрезвычайно важны в GNU/Linux, при помощи них приложения получают доступ к внешним функциям. Библиотеки подключаются на стадии выполнения, а общее потребление памяти сокращается, так как используется только необходимая на данный момент функциональность. В данной статье рассказывается, как создавать и использовать динамические библиотеки, описываются различные утилиты для работы с ними, а также объясняются внутренние принципы работы динамических библиотек.

>>> Подробности

★★★

Проверено: Shaman007 ()

Re: Анатомия динамических библиотек Linux

На удивление вменяемая статья. o.o

twosev ★★ ()

Re: Анатомия динамических библиотек Linux

c/windows/system32/*.dll ))

Deleted ()

Re: Анатомия динамических библиотек Linux

мало

было бы интересно если бы рассмотрели multilib ( /lib/i686/cmov,sse2,nosegneg )
и работу утилиты prelink

Sylvia ★★★★★ ()

Re: Анатомия динамических библиотек Linux

Ура! Опять OOO ИБМ EE/A генерит массу лулзов!

"Dynamically linked shared libraries are an important aspect of GNU/Linux®." (с)

"Динамически компонуемые совместно используемые библиотеки чрезвычайно важны в GNU/Linux®." (с)

ЧРЕЗВЫЧАЙНО доставляющий перевод. На башорг!

Есть в русском языке устоявшиеся термины "разделяемые библиотеки" и "динамически подключаемые библиотеки", но в OOO ИБМ EE/A об этом, видать, не знают.

Bioreactor ★★★★★ ()
Ответ на: Re: Анатомия динамических библиотек Linux от Bioreactor

Re: Анатомия динамических библиотек Linux

> Ура! Опять OOO ИБМ EE/A генерит массу лулзов!

> "Dynamically linked shared libraries are an important aspect of GNU/Linux®." (с)

> "Динамически компонуемые совместно используемые библиотеки чрезвычайно важны в GNU/Linux®." (с)

> ЧРЕЗВЫЧАЙНО доставляющий перевод. На башорг!

> Есть в русском языке устоявшиеся термины "разделяемые библиотеки" и "динамически подключаемые библиотеки", но в OOO ИБМ EE/A об этом, видать, не знают.

Устоялись они, возможно, в мозгах у Вас и ближайших друзей, но термины тем не менее, скажем так, не вполне пригодные.

Во-первых, "разделяемые" -- это перевод "shared" при разговоре о куче денег, которую делят компаньоны, а не о ресурсах, или о файлах, которые режутся на куски, чего в данном случае не происходит. Ресурсы "общие" или "совместно используемые" -- это термины не только "устоявшиеся", но и одобренные лингвистами корпораций из сферы ИТ и внесённые в интерфейсы всех локализованных ОС.

Во-вторых, "подключение" предполагает наличие канала связи, по которому происходит подключение. А это (динамическая загрузка с подключением) не единственный способ использования библиотек такого рода в никсах. Просто указанный Вами термин был придуман ДЛЯ НЕМНОГО ДРУГОГО ОБЪЕКТА -- библиотек, которые КОМПОНОВАТЬСЯ не могут даже в момент загрузки программы -- к ним возможно было только ПОДКЛЮЧЕНИЕ. Это было давно, насколько я помню, в многозадачных системах на старых мейнфреймах. Вроде бы термин DLL изначально такого же происхождения (Dynamically Loadable Library), но в какой-то момент микрософт изменил трактовку, возможно, после введения механизма компоновки при загрузке.

Так что не упорствуйте.

А перевод хорош и профессионален, ЧТО ДЛЯ ИБМ НЕХАРАКТЕРНО. Огорчают только "утилиты" (служебные программы) и идиотский микрософтизм/англицизм "XXX-файл" (грубая ошибка, поскольку XXX не есть член предложения, а выполняет функцию имени собственного и потому должно стоять ПОСЛЕ носителя грамматической формы "файл"). Впрочем, общей положительной картины они не портят.

Orlusha ★★★★ ()
Ответ на: Re: Анатомия динамических библиотек Linux от Orlusha

Re: Анатомия динамических библиотек Linux

> Во-первых, "разделяемые" -- это перевод "shared" при разговоре о куче денег, которую делят компаньоны, а не о ресурсах, или о файлах,

"Кто выучил англо-русский словарь, тот выучил англо-русский язык (The Runglish language)." (с) Афоризм

"shared adjective owned, divided, felt or experienced by more than one person" (c) Cambridge dictionary

http://en.wikipedia.org/wiki/Shared_library#Shared_libraries

http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5...

Ню-ню...

Bioreactor ★★★★★ ()
Ответ на: Re: Анатомия динамических библиотек Linux от Orlusha

Re: Анатомия динамических библиотек Linux

> Так что не упорствуйте.

Я не упорствую. Таки уже Бабруйский английский круче, чем на Бrайтон-Бич.

http://en.wikipedia.org/wiki/Dynamic-link_library

> Вроде бы термин DLL изначально такого же происхождения (Dynamically Loadable Library)

DLL == Dynamic Link_Library

Остальное - отсебятина. Ну может у Вас уже Dynamically Loadable Library. А у нас таки Dynamic Link_Library .

Bioreactor ★★★★★ ()

Re: Анатомия динамических библиотек Linux

грамар наци на лоре стали переходить все границы, в каждой новости ><
за статью спасибо, почитаем.

stave ★★★★★ ()

Re: Анатомия динамических библиотек Linux

[coder@glukensoft ~]$ /lib/ld-linux.so.2 /usr/lib/libX11.so.6
Ошибка сегментирования


Странно, у меня как в статье не получается.

d_a ★★★★★ ()

Re: Анатомия динамических библиотек Linux

Несколько лет назад подобная статья (вроде даже на ЛОР) была. Очень полезная. Если тут придираются к лулзам в плане русского языка - то там исправление самой статьи шло в комментах.

skwish ★★ ()

Re: Анатомия динамических библиотек Linux

Статья не содержит и половины необходимой информации. Какие функции можно использовать при инициализации динамической библиотеки? Как загрузка динамических библиотек соотносится с многопоточностью? Как загружать динамические библиотеки в чужой процесс? Каков формат таблицы импорта и как ее подменять на ходу? Почему в статье не упомянуто про идиотский -fpic, из-за которого динамические библиотеки под линуксом работают медленнее, чем под виндой и имеют кучу проблем с использованием в них статических библиотек, собранных без этого флага? Про dll'ки под windows можно найти кучу весьма детальной информации, а под linux - шиш.

halyavin ()

Re: Анатомия динамических библиотек Linux

да уж... кретинская аннотация :) говорит о том что запостиший новость ее откуда то скопировал а автор толком не знает в чем прелесть библиотек :)

umanets ()

Re: Анатомия динамических библиотек Linux

хм, мне почему-то такое название темы больше офтопик напоминает:

вот так взяли, и "shared object" обозвали "динамической библиотекой", ещё б DLL написали, не православно.

G ()

Re: Анатомия динамических библиотек Linux

Статейко явно не тянет не хедлайн. Можно много рассуждать о пользе или вреде DLL но так и не прийти к результату, но по жизни от них больше проблем чем пользы :)

robot12 ★★★★★ ()
Ответ на: Re: Анатомия динамических библиотек Linux от halyavin

Re: Анатомия динамических библиотек Linux

>про идиотский -fpic, из-за которого динамические библиотеки...Про dll'ки под windows можно найти кучу весьма детальной информации, а под linux - шиш.

хех. ну так и напиши же человече. а вантуз нам неинтересен. совсем

black7 ()

Re: Анатомия динамических библиотек Linux

Очередной нуб осилил shared libs! Похвально, но на новость как-то увы и ах! Может мне начать постить, чего я осилил со вчера на сегодня?

void_ptr ★★★★ ()
Ответ на: Re: Анатомия динамических библиотек Linux от halyavin

Re: Анатомия динамических библиотек Linux

>Каков формат таблицы импорта и как ее подменять на ходу?

Подменять на ходу? А зачем? Загрузите нужную либу, а интерфейс скройте в обертке. Лишние сотня байт экономии нужны только для марсоходов :)

void_ptr ★★★★ ()

Re: Анатомия динамических библиотек Linux

Интересненько.

Levinskij ()
Ответ на: Re: Анатомия динамических библиотек Linux от void_ptr

Re: Анатомия динамических библиотек Linux

>Подменять на ходу? А зачем? Загрузите нужную либу, а интерфейс скройте в обертке. Лишние сотня байт экономии нужны только для марсоходов :)

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

halyavin ()
Ответ на: Re: Анатомия динамических библиотек Linux от halyavin

Re: Анатомия динамических библиотек Linux

Странно, а я с помощью ctypes на питоне динамически переподключал сишные либы не зная формата таблицы импорта. И работает без черной магии и вызова колдуна )))

void_ptr ★★★★ ()
Ответ на: Re: Анатомия динамических библиотек Linux от halyavin

Re: Анатомия динамических библиотек Linux

> автоматически переводить (с помощью всплывающих подсказок) приложения на другой язык

o_0

казалось бы, при чём тут shared object ?

dk2 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.