Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

GNU Libtool - это инструмент разработки программного обеспечения , который является частью системы сборки GNU . Это сценарий оболочки .[3] Он был создан для решения проблемы переносимости программного обеспечения при компиляции разделяемых библиотек из исходного кода . Он скрывает различия между вычислительными платформами для команд, которые компилируют разделяемые библиотеки.[4] Он предоставляет интерфейс командной строки , идентичный для разных платформ, и выполняет собственные команды платформы .

Обоснование [ править ]

Разные операционные системы по- разному обрабатывают разделяемые библиотеки . Некоторые платформы вообще не используют разделяемые библиотеки. Сделать программное обеспечение переносимым может быть сложно: компилятор C отличается от системы к системе; некоторые библиотечные функции отсутствуют в некоторых системах; заголовочные файлы могут иметь разные имена. Один из способов справиться с этим - написать условный код с блоками кода, выбранными с помощью директив препроцессора ( #ifdef); но из-за большого разнообразия сред сборки этот подход быстро становится неуправляемым. Система сборки GNU предназначена для более управляемого решения этой проблемы.

Libtool помогает управлять созданием статических и динамических библиотек в различных Unix-подобных операционных системах. Libtool выполняет это, абстрагируя процесс создания библиотеки, скрывая различия между различными системами (например, системы Linux и Solaris ).

GNU Libtool разработан для упрощения процесса компиляции компьютерной программы в новой системе путем «инкапсуляции как зависимостей платформы, так и пользовательского интерфейса в один сценарий».[5] При переносе программы в новую систему Libtool спроектирован таким образом, что переносчику не нужно читать низкоуровневую документацию по собираемым разделяемым библиотекам, а просто запускать сценарий конфигурации (или эквивалент).[5]

Используйте [ редактировать ]

Libtool используется Autoconf и Automake , двумя другими инструментами переносимости в системе сборки GNU. Его также можно использовать напрямую.[6]

Клоны и производные [ править ]

С тех пор, как был выпущен GNU Libtool, другие проекты бесплатного программного обеспечения создали заменяющие компоненты под другими лицензиями на программное обеспечение . [7]

См. Также [ править ]

  • Коллекция компиляторов GNU
  • Система сборки GNU

Ссылки [ править ]

  1. ^ "GNU" . Проверено 25 июня 2012 года . CS1 maint: обескураженный параметр ( ссылка )
  2. Гэри В. Воан (15 февраля 2015 г.). «GNU Libtool - Новости: libtool-2.4.6 выпущен [стабильный]» . GNU Libtool - Новости . savannah.gnu.org .
  3. ^ "Посмертный анализ других реализаций" . Руководство GNU Libtool . Проект GNU. 2015-02-15 . Проверено 2 февраля 2021 . CS1 maint: обескураженный параметр ( ссылка )
  4. ^ «Введение» . Руководство GNU Libtool . Проект GNU. 2015-02-15 . Проверено 2 февраля 2021 . CS1 maint: обескураженный параметр ( ссылка )
  5. ^ a b Руководство по Libtool
  6. ^ "Написание правил Makefile для libtool" . Руководство GNU Libtool . Проект GNU. 2015-02-15 . Проверено 2 февраля 2021 . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ Библиотека под лицензией BSD .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Домашняя страница Autobook
  • Учебное пособие по Autotools
  • Избегайте минных полей libtool при кросс-компиляции
  • Автоинструменты Mythbuster