How To Write Shared Libraries

Здесь будут размещаться ссылки и отзывы на интересные публикации по Linux

Модераторы: Olej, vikos

Правила форума
Запрещается помещать сообщения, не имеющие отношения к обсуждаемой статье. Все такие сообщения будут удаляться непосредствено после обнаружения.
Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 20 мар 2012, 15:49

Nikolay_Ro писал(а):Olej!
А как быстро перевод надо сделать? Дело в том, что я сейчас завершаю перевод
James Molloy, "Roll your own toy UNIX-clone OS" - http://www.jamesmolloy.co.uk/tutorial_html/
и на него у меня пойдет еще ориентировочно дней 5. И только после этого возьмусь за To Write Shared Libraries.
А на него, как мне кажется (подробности придется уточнять в дороге), пойдет от 3 недель и больше.
Это если все буду делать один.
Пропал интерес к этой статье?

vikos
Писатель
Сообщения: 110
Зарегистрирован: 07 янв 2009, 21:47
Откуда: г.Казань
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение vikos » 20 мар 2012, 18:53

Пропал интерес к этой статье?
Вы что-то пропустили, статья была переведена и опубликована - http://rus-linux.net/MyLDP/kernel/toyos ... os-01.html.
Или вы про другую статью?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 20 мар 2012, 20:32

vikos писал(а):
Пропал интерес к этой статье?
Вы что-то пропустили, статья была переведена и опубликована - http://rus-linux.net/MyLDP/kernel/toyos ... os-01.html.
Или вы про другую статью?
Нет, я, к сожалению, о другой статье, с которой началась эта тема:
How To Write Shared Libraries
http://www.akkadia.org/drepper/dsohowto.pdf
Большой и сложной :-?

Nikolay_Ro проявлял было инициативу её перевести и представить, но как-то оно заглохло :cry:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 17 мар 2013, 17:58

Olej писал(а):Nikolay_Ro проявлял было инициативу её перевести и представить, но как-то оно заглохло :cry:
Наконец то!
Ulrich Drepper "Как писать разделяемые библиотеки"

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

Кроме того, это весьма свежая (оригинал: December 10, 2011) публикация, описывающая текущее состояние дел.

Большое спасибо Н. Ромоданову!

alex65su
Писатель
Сообщения: 40
Зарегистрирован: 13 дек 2012, 10:27
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение alex65su » 18 мар 2013, 18:02

Вообще, если кого-то очень сильно интересует, то по теме: компоновка (сборка) исполняемых бинарников и библиотек, а также их последующий запуск ядром ОС, - есть такая книга: John R. Levine "Linkers and Loaders".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 18 мар 2013, 20:04

alex65su писал(а):Вообще, если кого-то очень сильно интересует, то по теме: компоновка (сборка) исполняемых бинарников и библиотек, а также их последующий запуск ядром ОС, - есть такая книга: John R. Levine "Linkers and Loaders".
Книга полезная, спасибо за ссылку.

Однако:
1. текст от 1999/06/09, не такой и свежий;
2. это добротное общее описание ... но оно не годится как конкретный справочник по тому, что происходит в ELF и Linux;
3. описание касается разных платформ и операционных систем, и гораздо больше Intel/Microsoft, чем UNIX/Linux;

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 25 мар 2013, 10:26

Olej писал(а): На фоне статей и переводов, регулярно помещаемых на сайте ... хороших и не очень ... и всяких разных ;-) - это замечательная публикация.
Доупобликовали ;-) до особо интересного места - 3.2. Обеспечение стабильности, о стабильности DLL, естественно, ... при развитии версий и внесении изменений:
В качестве примера возьмем реализацию функции strtok в библиотеке времени выполнения языка C. Стандарт требует, чтобы при первом вызове strtok первый параметр не был пустым (т. е. не NULL). Но что произойдет, если первый вызов в качестве первого параметра будет иметь значение NULL? В этом случае поведение неопределено (в данном случае даже не определено в реализации). В некоторых реализациях в этом случае будет просто возвращаться NULL, поскольку это обычный побочный эффект возможной реализации. Но это не гарантируется. Вызов функции может также привести к сбою в работе приложения. Оба варианта являются допустимыми реализациями, но смена одной реализации на другую в процессе эксплуатации DSO будет причиной несовместимости.

Вопрос интереснейший, и на который крайне редко вообще обращают внимание.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 25 мар 2013, 10:40

alex65su писал(а):Вообще, если кого-то очень сильно интересует, то по теме:
В этой, обсуждаемой в теме, публикации - замечательно расписывается внутренняя кухня DLL, детали устройства (или как автор называет более точно DSO - то, что я называю более обиходно DLL ;-) ).

И "если кого-то очень сильно интересует"(с) ;-) - то этот материал замечательно сочетается (дополняет + дополняется) с главой Библиотеки рукописи книги "Инструменты Linux для Windows-программистов" (хотя это ссылку я показываю на изрядно устаревшую версию текста для online чтения ... свежую версию см. Инструменты Linux). Вот эта глава описывает а). как строить DLL в составе своих разрабатываемых проектов + б). как использовать существующие DLL в своих проектах.

Вот эти 3 компонента: "внутренняя кухня" + "как строить" + "использовать существующие" - даёт исчерпывающую картину состояния дел с DLL.

Ответить

Вернуться в «Публикации, книги и обсуждения»

Кто сейчас на конференции

Сейчас этот форум просматривают: FAST WebCrawler [Crawler] и 3 гостя