АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Создание и использование библиотек: статических, совместно используемых и динамических

Читайте также:
  1. B. Использование номограммы
  2. I. Расчет термодинамических процессов, составляющих цикл
  3. Oхрана, рациональное использование медоносных пчёл и энтомофильных культур
  4. PR через создание виртуальных групп
  5. RASH Использование отражений для остановки ВД
  6. VI раздел. Создание представлений о здоровом образе жизни
  7. Активы организации, их назначение и использование.
  8. Анализ эффективности термодинамических циклов ГТУ.
  9. Артерии. Морфо-функциональная характеристика. Классификация, развитие, строение, функция артерий. Взаимосвязь структуры артерий и гемодинамических условий. Возрастные изменения.
  10. Безопасное использование технологического оборудования и производственного инвентаря
  11. В каких приборах катушки электродинамических ИМ соединяются последовательно?
  12. В. ВУНДТ И СОЗДАНИЕ ЭКСПЕРИМЕНТАЛЬНОЙ ПСИХОЛОГИИ

В программах на языке С часто встречаются функции, которые достаточно один раз скомпилировать, а затем можно многократно использовать. Кроме того, существуют функции, которые могут применяться программистом при написании других программ. Обычно такие функции предназначены для выполнения стандартных задач, таких как ввод-вывод данных из базы данных или вывод данных на экран. Можно предварительно откомпилировать подобные функции и поместить их в особый файл объектного кода, именуемый библиотекой. Функции такого библиотечного файла могут объединяться с программой с помощью редактора связей. Это позволяет программисту избежать про­блем, связанных с компиляцией названных функций для каждой из разрабатываемых программ.

При разработке приложений различных типов используются специализированные библиотеки, которые находятся в системном каталоге. Например, в названном каталоге можно найти библиотеку libdbm, которая содержит функции dbm. Эти функции обес­печивают доступ к файлам баз данных, и их можно применять в пользовательских программах, выполняя компоновку с данной библиотекой. В математических прило­жениях используется математическая библиотека, libm, а в приложениях X Window — библиотека Xlib, libXll. Во всех прикладных программах применяются стандартные библиотеки С, libc, которые содержат функции для выполнения таких задач, как управ­ление памятью и организация ввода-вывода (сейчас доступна новая версия библиотеки GNU, libc 2.0). Эти библиотеки находятся в системных каталогах, таких как /usr/lib, и могут применяться любым пользователем системы. Можно создавать и собственные пользовательские библиотеки, которые будут либо применяться в какой-то специальной программе, либо предоставляться в распоряжение других программистов.

Библиотеки могут быть статическими, динамическими или совместно используемы­ми. Статическая библиотека — это библиотека, код которой включается в программу на этапе компиляции. Коды совместно используемой библиотеки становятся доступными для загрузки при выполнении программы. Программа, работающая с совместно исполь­зуемыми библиотеками, просто создает список библиотек, необходимых для ее функ­ционирования. Затем, при выполнении программы, эти библиотеки загружаются, и ис­полняемая программа получает доступ к содержащимся в них функциям. Динамическая библиотека является разновидностью совместно используемой библиотеки. Она также может быть загружена при выполнении программы. Однако она не загружается до тех пор, пока к ней не обратится определенная команда программы. Затем эта библиотека может быть выгружена из памяти, а ее место займет другая библиотека. За счет при­менения совместно используемых и динамических библиотек можно намного уменьшить размер исполняемой программы. Вместо того чтобы включать библиотеку в состав ис­полняемой программы, достаточно сослаться на нее.

Большинство существующих библиотек являются совместно используемыми библио­теками. Возможность их применения была обеспечена в результате внедрения формата ELF для двоичных исполняемых файлов, хотя для совместно используемых библиотек (специально обозначенных) может применяться более старый формат, a.out. В настоя­щее время формат ELF является стандартным для всех двоичных файлов в Linux.

Использование библиотек GNU определяется лицензией LGPL (Library GNU Public License). Условия этой лицензии отличаются от условий стандартной лицензии GNU тем, что программы, разработанные с их использованием, могут поставляться на ком­мерческой основе. Однако исходный код самих библиотек предоставляется в общее пользование.

Библиотеки, доступные в локальной системе, находятся в каталогах /usr/lib и /lib. Названия их всегда начинаются с префикса lib. За этим префиксом следует название библиотеки и суффикс. Используемый суффикс зависит от типа библиотеки. Для со­вместно используемых библиотек применяется суффикс.so, за которым следует номер версии этой библиотеки. Для статической библиотеки используется расширение.а. Для совместно используемых библиотек в старом формате a.out применяется расширение.sa.

libимя.so. старший_номер.младший_номер


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)