2012-06-21 3 views

ответ

1

Вы хотите Shared Library. Статическая библиотека представляет собой библиотеку, которая включена в исполняемый файл бинарного файла, с которым он похож. Хотя они проще в использовании, они увеличивают размер программы и сложность обновлений. Когда вы связываете общую библиотеку, все, что включено в двоичный файл, является ссылкой на имя библиотеки, а файл библиотеки обычно находится в одной из папок lib:/usr/lib,/lib,/usr/local/Пб/Opt/Пб и т.д.

стоит отметить, что разделяемые библиотеки требуют одна из трех вещей во время выполнения:

  • команда компиляции, которая включает в себя эту функцию: -Wl,-rpath,/path/to/dir/with/shared/lib/file
  • Или у вас есть поставить файл .so в один из lib s (см. выше)
  • Или, добавьте каталог ectory с файлом библиотеки в переменную окружения, LD_LIBRARY_PATH
1

Вы хотите сделать общую библиотеку.

+0

как он отличается от 'static library'? – saplingPro

+2

статическая библиотека предназначена для связывания программы статически, имея в виду библиотеку внутри исполняемого файла. – devsnd

+1

@grassPro Когда статическая библиотека связана с приложением, код из библиотеки помещается в результирующий исполняемый файл. Общая библиотека загружается ОС при запуске программы и используется совместно несколькими программами. Также как DLL. –

Смежные вопросы