LINUX.ORG.RU

Посоветуйте книгу

 , ,


0

2

Посоветуйте хорошую книгу на русском языке, где подробно описано всё, что связано с динамическими библиотеками. Работу всяких /etc/ld.so.cache, линковку, PIC и прочее.

Весьма желательно, если будет ссылка, где можно будет купить бумажную версию.

★★★★

Последнее исправление: pathfinder (всего исправлений: 1)

Ты понимаешь, что это уровень статей в блогах?

В них ещё имеет смысл углубляться в детали. А книгу с детальным описанием линковки кто купит? 1,5 человека в год?

Ну и плюс:

man ld-linux
man ld
...
AlexVR ★★★★★
()

Книги, изначально написанные по-русски, в основном неактуальны.
А переводные как причастный к переводам не рекомендую, ибо даже если очень стараешься перевести хорошо, получается не идеальная замена оригинала. Читать англоязычные оригиналы технической литературы несложно, хватит школьного инглиша со словарём.

massimus ★★★
()
Ответ на: комментарий от AlexVR

А книгу с детальным описанием линковки кто купит? 1,5 человека в год?

Ну я и не прошу книгу, исключительно посвященную одному этому вопросу от первой главы, до последней.

А книги разные бывают. Например, у меня дома есть книга, где в одной из глав подробно рассказывается об MMX инструкциях процессора. Многие непосредственно работают с MMX инструкциями в своей работе?

А с разделяемыми библиотеками, несовместимостью версий glibc и прочим мучался каждый первый кто более менее серьезно писал на с++ под линукс.

Но раз того, что я хочу нет, значит нет.

pathfinder ★★★★
() автор топика
Последнее исправление: pathfinder (всего исправлений: 1)
Ответ на: комментарий от pathfinder

Посоветуйте хорошую книгу на русском языке, где подробно описано всё, что связано с динамическими библиотеками. Работу всяких /etc/ld.so.cache, линковку, PIC и прочее.

Всё это есть в манах - рантайм линкера, ldconfig, линкера и компилятора.

А книги разные бывают. Например, у меня дома есть книга, где в одной из глав подробно рассказывается об MMX инструкциях процессора. Многие непосредственно работают с MMX инструкциями в своей работе?

Так это отличный пример почему в книгах того что тебе нужно нет и не будет. Если бы тебе нужен был SIMD, эта информация тебе никак бы не помогла, потому что устарела на десятки лет, ибо со времён MMX вышло несколько десятков расширений. Более того, она бы тебе навредила, потому что ты бы начал тратить время на устаревший MMX и писать неэффективный код, вместо изучения актуальных расширений, интринсиков или готовых библиотек, где даже на уровень ассемблера не нужно опускаться.

А с разделяемыми библиотеками, несовместимостью версий glibc и прочим мучался каждый первый кто более менее серьезно писал на с++ под линукс.

Конечно же нет. С ними могли столкнуться глупые или жадные люди, которые пытались распространять бинарники. Среднестатистическому разработчику который серьёзно пишет на c++ под linux ничего про это знать вообще не надо, ибо всё собирается с рабочей системной libc из коробки, а для сторонних библиотек достаточно добавить -lfoo.

slovazap ★★★★★
()
Ответ на: комментарий от pathfinder

Когда нечего ответить, обычно не отвечают. А если вам требуется пояснение - так и скажите, это не стыдно.

Глупые - те кто не понял что у нас тут опенсорс, на пердолинг с бинарной совместимостью тратить время не только не обязательно, но и бесполезно, потому что кроме версий glibc есть ещё больше дюжины популярных архитектур, как минимум одна вообще другая libc, и это не считая POSIX совместимых систем помимо linux, и подо всё это вы бинарников всё равно не насобираете.

А жадные - те кто хочет распространять проприетарщину или зажимать исходники.

slovazap ★★★★★
()
Ответ на: комментарий от pathfinder

Но раз того, что я хочу нет, значит нет.

Повторюсь ещё раз. Эта информация, которую надо искать в статьях и man-ах.

Прочитай: man ld-linux

выполни:

LD_DEBUG=libs ls

и будет понятен порядок поиска библиотек.

Прочитай man ldconfig и будет понятно как работать с /etc/ld.so.cache который упомянут в man ld-linux.

Всё что ты хочешь – это МАЛЕНЬКИЕ ФРАГМЕНТЫ ЗНАНИЙ. Хоть они и относятся к похожим понятиям, их найти разом сложно. И всегда будет что-то ещё, например:

  • Как сделать динамическую библиотеку в CMake/Meson?
  • Как искать зависимости в системах сборки?
  • Хороший тон для написания стабильно API.
  • Утилиты вида «Environment Modules» в связке с https://spack.io/ или https://easybuild.io/
  • И т.д. и т.п.

Что не нашёл с ходу в man ищи в виде статей, если не получается , то спроси на форуме.

AlexVR ★★★★★
()