Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системное программное обеспечение. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
630 Кб
Скачать

o Загружаются библиотеки, указанные в переменной среды окружения

LD_PRELOAD;

o Просматриваются каталоги, указанные в параметрам исполняемого файла (DT_RPATH, DT_RUNPATH);

o Используются каталоги, указанные в переменной

LD_LIBRARY_PATH;

o Просматривается файл /etc/ld.so.cache;

o Осуществляем поиск в стандартных каталогах - /lib и /usr/lib.

Файл /etc/ld.so.cache формируется утилитой ldconfig, которая для этого использует текстовый файл /etc/ld.so.conf и параметры командной строки. В файле /etc/ld.so.conf в каждой строке указывается путь к каталогу, который необходимо просмотреть для поиска требуемой библиотеки.

ЛАБОРАТОРНАЯ РАБОТА № 3

Цель

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

Задание

1.Напишите программу, которая динамически выделяет 100 блоков памяти по 1000 байт каждый и затем освобождает их. Продемонстрируйте работоспособность Вашей программы.

2.Напишите динамическую библиотеку, в которой реализуйте две функции: malloc и free. Функция malloc выделяет (с использованием стандартной функции malloc из библиотеки GLIBC) запрашиваемый блок памяти до тех пор, пока не будет выделено 77 блоков. Далее любой вызов функции malloc приводит к ошибке выделения памяти. Функция free печатает на экране сообщение о количестве выделенных блоков памяти и освобождает запрашиваемый блок.

3.Используя принудительную загрузку библиотек, продемонстрируйте работу созданной в п.2 библиотеки на примере созданной в п.1 программы.

Контрольные вопросы

1.Что такое динамическая библиотека? В чем её отличие от статической?

2.Что такое динамическое связывание и динамическая загрузка?

3.Для чего используется дескриптор RTLD_NEXT?

4.Какие переменные среды окружения используются загрузчиком динамических библиотек?

ЗАКЛЮЧЕНИЕ

Учебное пособие разработано в соответствии с требованиями государственного стандарта. Оно предназначено в первую очередь для студентов высших учебных заведений всех форм обучения, в чьи учебные планы включен курс по разработке программного обеспечения, например, «Системное программное обеспечение».

Вучебном пособии рассмотрены общие вопросы по разработке и отладке программного обеспечения, раскрыты возможности, достоинства и недостатки отладчика GDB и библиотеки GLIBC.

Кроме общих вопросов, рассмотрены основные приёмы создания и использования динамических библиотек.

Кроме этого, учебное пособие способствует:

• углублению и закреплению знаний;

• формированию навыков практического применения знаний;

• профессионально грамотному изложению своих мыслей.

Вконце каждого раздела имеются задания на лабораторную работу и контрольные вопросы для самопроверки.

Учебное издание

Мамойленко Сергей Николаевич Ефимов Александр Владимирович

Системное программное обеспечение

Учебно-методическое пособие

Редактор С.С. Александров Корректор И.Л. Гончарова

Принято редакционно-издательским советом № 2 от 19.06.2018, подписано в печать 27.06.2018,

п. л. 2,1, заказ № 80, 33 стр., электронная версия – 615 Кб

Редакционно-издательский отдел СибГУТИ 630102, г. Новосибирск, ул. Кирова, 86, офис 105 тел. (383) 269-83-56

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]