Динамическая библиотека - Большая Энциклопедия Нефти и Газа, статья, страница 1
В жизни всегда есть место подвигу. Надо только быть подальше от этого места. Законы Мерфи (еще...)

Динамическая библиотека

Cтраница 1


Динамическая библиотека разделяет код и адресное пространство данных с программой, которая ее вызывает.  [1]

Динамические библиотеки PowerBuilder ( PBD) создаются для того, чтобы разделить приложение на единицы меньшего объема. Результат будет заключаться в уменьшении объема исполняемого файла и загрузке отсутствующих в нем классов из библиотек PBD во время выполнения приложения. Более конкретно; PowerBuilder загружает в память не всю динамическую библиотеку - а только требуемый класс.  [2]

Каждая динамическая библиотека содержит набор тесно связанных библиотечных процедур и все их структуры данных в одном файле, как правило ( но не всегда), с расширением ЛИ. Когда приложение компонуется, компоновщик видит, что некоторые библиотечные процедуры принадлежат к динамическим библиотекам, и записывает эту информацию в заголовок исполняемого файла. Обращения к процедурам динамических библиотек производятся не напрямую, а при помощи вектора передачи в адресном пространстве вызывающего процесса. Изначально этот вектор заполнен нулями, так как адреса вызываемых процедур еще неизвестны.  [3]

Программный интерфейс создаваемой динамической библиотеки достаточно прост.  [4]

5 Различные маршруты выполнения вызовов Win32 API. [5]

В некоторых случаях динамические библиотеки обращаются к другой динамической библиотеке ( ntdll. Этот путь показан на рисунке как шаги 2а и За. Динамическая библиотека может также выполнить всю работу самостоятельно, совсем не обращаясь к системным вызовам. Для других вызовов Win32 API выбирается другой маршрут, а именно: сначала процессу подсистемы Win32 ( csrss. При этом в некоторых случаях подсистема также выполняет всю работу в пространстве пользователя и немедленно возвращает управление.  [6]

7 Различные маршруты выполнения вызовов Win32 API. [7]

В некоторых случаях динамические библиотеки обращаются к другой динамической библиотеке ( ntdlldll) которая, в свою очередь, обращается к ядру операционной системы. Этот путь показан на рисунке как шаги 2а и За. Динамическая библиотека может также выполнить всю работу самостоятельно, совсем не обращаясь к системным вызовам. Для других вызовов Win32 API выбирается другой маршрут, а именно: сначала процессу подсистемы Win32 ( csrss. При этом в некоторых случаях подсистема также выполняет всю работу в пространстве пользователя и немедленно возвращает управление.  [8]

Если сложить размер динамической библиотеки и визуально небольшого исполняемого файла, общий размер получится значительно больше, чем размер файла этой же программы, скомпонованной с run-time - пакетами.  [9]

Большим преимуществом создания динамических библиотек является то, что они позволяют сразу нескольким приложениям исгользовать одни и те же классы без распространения дополнительных копий этих классов.  [10]

При запуске прикладного процесса все требуемые динамические библиотеки обнаруживаются ( на диске или в памяти) и отображаются на виртуальное адресное пространство процесса. Затем вектор передачи заполняется верными адресами, что позволяет вызывать библиотечные процедуры через этот вектор с незначительной потерей производительности. В операционной системе Windows 2000 динамические библиотеки используются очень активно для всех аспектов системы.  [11]

Заключительный этап данного краткого обзора динамических библиотек касается возможности их загрузки в память во время выполнения программы с помощью LoadLibrary. И наоборот, библиотеку можно выгрузить из памяти, вызвав FreeLibrary.  [12]

13 Окно Build Dynamic Runtime Library. [13]

Исключением из сказанного является то, чю динамические библиотеки не содержат информации ни об одном из используемых ресурсов.  [14]

Еще одна распространенная технология заключается в использовании динамических библиотек для хранения лишь ресурсов.  [15]



Страницы:      1    2    3    4