Динамічні бібліотеки (DLL)

Содержание

Слайд 2

DLL

Бібліотеки, що мають динамічне підключення (Dynamics Link Libraries, DLL) - наріжний камінь

DLL Бібліотеки, що мають динамічне підключення (Dynamics Link Libraries, DLL) - наріжний
операційної системи Windows, починаючи з найпершої її версії. В DLL утримуються всі функції Windows API.
Три найважливіші DLL: Kernel32.dll (керування пам'яттю, процесами й потоками), User32.dll (підтримка користувальницького інтерфейсу, у тому числі функції, пов'язані зі створенням вікон і передачею повідомлень) і GDI32.dll (графіка й виведення тексту).

Слайд 3

Переваги DLL

Розширення функціональності додатка
DLL можна динамічно завантажувати в адресний простір процесу, що

Переваги DLL Розширення функціональності додатка DLL можна динамічно завантажувати в адресний простір
дозволяє додатку, визначивши, які дії від нього потрібні, довантажувати потрібний код. Тому одна компанія, створивши якийсь додаток, може передбачити розширення його функціональності за рахунок DLL від інших компаній.

Слайд 4

Переваги DLL

Можливість використання різних мов програмування.
Немає значення, на якій мові писати

Переваги DLL Можливість використання різних мов програмування. Немає значення, на якій мові
ту або іншу частину додатка Так, користувальницький інтерфейс додатка можна створювати на Microsoft Visual С#, але прикладну логіку найкраще реалізувати на С++. Програма на С# може завантажувати DLL, написані на С++, JAVA, BASIC.

Слайд 5

Переваги DLL

Більш просте керування проектом.
Якщо в процесі розробки програмного продукту окремі

Переваги DLL Більш просте керування проектом. Якщо в процесі розробки програмного продукту
його модулі створюються різними групами, то при використанні DLL таким проектом управляти набагато простіше. Однак кінцева версія додатка повинна включати якнайменше файлів.

Слайд 6

Переваги DLL

Економія пам'яті
Якщо ту саму DLL використає кілька додатків, в оперативній пам'яті

Переваги DLL Економія пам'яті Якщо ту саму DLL використає кілька додатків, в
може зберігатися тільки один її екземпляр, доступний цим додаткам. Приклад — DLL-версія бібліотеки С/С++. Нею користуються багато додатків.

Слайд 7

Переваги DLL

Розділення ресурсів
DLL можуть містити такі ресурси, як шаблони діалогових вікон, рядка,

Переваги DLL Розділення ресурсів DLL можуть містити такі ресурси, як шаблони діалогових
значки й бітові карти (растрові зображення). Ці ресурси доступні будь-яким програмам.

Слайд 8

Переваги DLL

Спрощення локалізації
DLL нерідко застосовуються для локалізації додатків. Наприклад, додаток, що містить

Переваги DLL Спрощення локалізації DLL нерідко застосовуються для локалізації додатків. Наприклад, додаток,
тільки код без усяких компонентів користувальницького інтерфейсу, може завантажувати DLL з компонентами локалізованого інтерфейсу.

Слайд 9

Переваги DLL

Рішення проблем, пов'язаних з особливостями різних платформ
У різних версіях Windows утримуються

Переваги DLL Рішення проблем, пов'язаних з особливостями різних платформ У різних версіях
різні набори функцій. Найчастіше розроблювачам потрібні нові функції, що існують у тій версії системи, якою вони користуються. Рішення такої проблеми – завантажити їх у вигляді DLL

Слайд 10

Переваги DLL

Реалізація специфічних можливостей
Певна функціональність в Windows доступна тільки при використанні DLL.

Переваги DLL Реалізація специфічних можливостей Певна функціональність в Windows доступна тільки при
Наприклад, окремі види пасток, установлюваних викликом SetWindowsHookEx і SetWinEventHook можна задіяти при умові, що функція повідомлення пастки розміщена в DLL. Крім того, розширення функціональності оболонки Windows можливо лише за рахунок створення Соm-об'єктів, існування яких припустимо тільки в DLL. Це ж має відношення й до додатків, що завантажуються Web-браузером, ActiveX-елементам, що дозволяють створювати Web-сторінки з більш багатою функціональністю.

Слайд 11

Підготовка Exe- і Dll- модулів

Підготовка заголовного файлу із прототипами функцій, структурами й

Підготовка Exe- і Dll- модулів Підготовка заголовного файлу із прототипами функцій, структурами
ідентифікаторами, експортованими з DLL. Цей файл включається у вихідний код всіх модулів DLL.
На С/С++ створюється модуль (або модулі) вихідного коду з тілами функцій і визначеннями змінних, які повинні перебувати в DLL.
Компілятор перетворить вихідний код модулів DLL в OBJ-файли (по одному на кожний модуль).
Компонувальник збирає всі OBJ-модулі в єдиний завантажувальний DLL-модуль, у який в остаточному підсумку містяться двійковий код і змінні (глобальні й статичні), що належать до даного DLL. Цей файл буде потрібно при компіляції модуля, що виконується.
Якщо компонувальник виявить, що DLL експортує хоча б одну змінну або функцію, то створить і LIB-файл. Цей файл зовсім малюсінький, оскільки в ньому немає нічого, крім списка символьних імен функцій і змінних, експортованих з DLL. Цей LIB-файл теж знадобиться при компіляції ЕХЕ-файла. Створивши DLL, можна перейти до зборки модуля, що виконується.
В усі модулі вихідного коду, де є посилання на зовнішні функції, змінні, структури даних або ідентифікатори, треба включити заголовний файл, наданий розроблювачем DLL.

Слайд 12

Неявне зв'язування EXE- і DLL-модулів

Неявне зв'язування EXE- і DLL-модулів
Имя файла: Динамічні-бібліотеки-(DLL).pptx
Количество просмотров: 18
Количество скачиваний: 0