Лабораторная работа №9. Создание динамических библиотек. Цель работы: Освоить создание динамических библиотек. Задания:
Создать DLL.
DLL (Dynamic Link Library) - это исполняемый файл, содержащий код и данные, который может быть использован несколькими программами одновременно. Он является разновидностью разделяемой библиотеки в операционных системах Windows.
Главное назначение функции DllMain заключается в инициализации DLL при ее загрузке, а также захвате и освобождении необходимых ресурсов при создании и завершении нового потока в процессе. Эта функция имеет следующий прототип:
BOOL WINAPI DllMain(
HINSTANCE hinstDLL, // дескриптор DLL
DWORD fdwReason, // флаг причины вызова функции DllMain
LPVOID lpvReserved // зарезервировано Windows
2. Написать программу вызова динамической библиотеки, используя явное связывание.
3. Написать программу вызова динамической библиотеки, используя неявное связывание.
4. Написать программу и DLL. Организовать передачу параметров между ними.
5. Написать программу загрузки ресурса из динамической библиотеки. Основная литература: 4 [ 578 - 593] , 5 [ 430 - 457]
Контрольные вопросы: Виды связывания.
В программировании существует несколько видов связывания, определяющих, когда и как происходит связывание (binding) между именами переменных или функций и их адресами в памяти. Вот основные виды связывания:
Статическое связывание (Static Linking):Компиляция Когда ты компилируешь свою программу, все функции и переменные в коде получают конкретные адреса в памяти. Эти адреса известны до того, как программа начнет выполняться.
• Преимущество: Нет зависимости от внешних файлов, исполняемый файл автономен.
• Недостаток: Увеличивает размер исполняемого файла и увеличивает издержки на хранение одной и той же библиотеки в разных приложениях.