You are on page 1of 8

Міністерство освіти і науки України

Херсонський національний технічний університет

Кафедра Програмних засобів і технологій

Звіт №5

Виконав студент групи 1ПРс Неласов І.О.

Перевірив Комісаров О.С.


Лабораторна робота №5

Тема: Створення динамічних бібліотек DLL.

Мета: Навчитись створювати динамічні бібліотеки DLL в середовищі ОС


Windows.

Хід роботи

Завдання: Варіант 8. Розробити динамічно завантажувану бібліотеку, котра


використовує функцію, що виводить отриманий параметр у вікно
повідомлення. Розробити другу програму, котра передає поточний час
(00:00:00) параметром у функцію бібліотеки.

1.

Рисунок 1.1 – Код програми


Рис. 1.2. – Вміст створеного DLL файлу

2. Припустимо, що ми хочемо записати час у файл time.dll, що містить


функцію writeTime, яка приймає час у форматі рядка та записує його у файл.
Рис. 2.1 – Вміст файлу «time.dll»

Закінчивши код у файлі time.dll, потрібно створити програму, яка буде


викликати цю функцію та передавати їй поточний час.
Рис. 2.2 – Вміст файлу «main.asm»

Залишилось створити файл, який буде створювати dll з функцією


writeTime, яка записуватиме час у файл.
Рис. 2.3 – Вміст файлу «time.asm»

Результат виконання цієї програми буде записаний у файл «time.txt» та


знаходитися у папці з програмою. Він буде містити поточний час у форматі
HH:MM:SS. Якщо запустити цю програму кілька разів, то результати будуть
додаватися у файл у вигляді нових рядків.

Рис. 2.4 – Вміст файлу «time.txt»


Контрольні запитання

1. Яка різниця між dll та lib бібліотеками?

Різниця між DLL (Dynamic Link Library) і LIB (Library) бібліотеками


полягає в тому, що DLL є динамічно завантажуваною бібліотекою, яка
завантажується в пам'ять лише тоді, коли її використовують. Натомість, LIB
є статичною бібліотекою, яка поєднується з програмою під час компіляції.

2. Які є два способи завантаження dll?

Два способи завантаження DLL: динамічне завантаження (під час


виконання програми) та статичне завантаження (під час компіляції
програми).

3. Яка функція завантажує dll?

Функція LoadLibrary завантажує DLL у пам'ять.

4. Яка функція вивантажує dll?

Функція FreeLibrary вивантажує DLL з пам'яті.

5. З допомогою яких програм можна створити файл лістингу dll?

Можна створити файл лістингу DLL за допомогою компіляторів, таких


як Microsoft Visual C++, Borland C++, GCC (GNU Compiler Collection) та
інших.
Висновки

Я навчився створювати динамічні бібліотеки DLL в середовищі ОС


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

При розробці було вивчено роботу з DLL файлами та способи їх


завантаження у програму, а також використання функцій бібліотеки у
програмі.

You might also like