Каковы хорошие практики в отношении разделяемых библиотек в Linux? - PullRequest
8 голосов
/ 21 января 2011

Недавно я много читал о разделяемых библиотеках в Linux, и вот что я узнал:

  • В разделяемую библиотеку следует встраивать soname, включая ее основной номер версии.Что-то вроде: libfoo.so.1
  • Его реальное имя файла также должно включать младший номер версии.Что-то вроде: libfoo.so.1.0
  • Когда файл библиотеки копируется, скажем, /usr/local/lib, если запущен ldconfig, он прочитает soname и создаст символическую ссылку с именем libfoo.so.1, указывающую на libfoo.so.1.0.
  • Если кто-то хочет использовать эту библиотеку для своих разработок, он должен сначала создать символическую ссылку без номера версии на реальный файл, скажем libfoo.so, указывающую на libfoo.so.1.0.Обычно это делается пакетом development (когда библиотека упакована).

Это правильно?

1 Ответ

18 голосов
/ 21 января 2011

Рекомендуемое прочтение:

Ульриха Дреппера Как писать общие библиотеки: http://www.akkadia.org/drepper/dsohowto.pdf

Хорошие практики Ульриха Дреппера в области проектирования, реализации и обслуживания библиотек: http://www.akkadia.org/drepper/goodpractice.pdf

Dsohowto гораздо более подробно.Goodpractice - быстрое чтение.

...