Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по лабораторным по ОС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
648.7 Кб
Скачать

Int (*Add)(int); // для адреса функции Add из dll

Int (*Sub)(int); // для адреса функции Sub из dll

Int *pCount; // для адреса переменной count из dll

// загружаем динамически подключаемую библиотеку

hDll = LoadLibrary("Count.dll");

if (!hDll)

{

cerr << "Load library failed." << endl;

return GetLastError();

}

// настраиваем адрес переменной count из DLL

pCount = (int *)GetProcAddress(hDll, "count");

if (!pCount)

{

cerr << "Get variable address failed." << endl;

return GetLastError();

}

// выводим начальное значение переменной count

cout << "Initial count = " << (*pCount) << endl;

// настраиваем адреса функций

Add = (int (*)(int))GetProcAddress(hDll, "Add");

Sub = (int (*)(int))GetProcAddress(hDll, "Sub");

if (!Add || !Sub)

{

cerr << "Get procedure address failed." << endl;

return GetLastError();

}

// изменяем значение счетчика

cout << "count = " << Add(20) << endl;

cout << "count = " << Sub(15) << endl;

// отключаем библиотеку

if (!FreeLibrary(hDll))

{

cerr << "Free library failed." << endl;

return GetLastError();

}

// выходим из программы

cout << "Press any key to exit.";

cin.get();

return 0;

}

Ход работы

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

  2. Включить в состав приложения, разработанного в предыдущих лабораторных работах, библиотеку DLL, куда включить функцию по расчету координат точек кривой, полученной в качестве индивидуального задания. Обеспечить загрузку библиотеки и вызов такой функции.

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

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

Список рекомендованной литературы

  1. Галузевий стандарт вищої освіти України з напряму підготовки 6.050101 «Комп’ютерні науки»: Збірник нормативних документів вищої освіти. – К.: Видавнича група BHV, 2011. – 85 с.

  2. Шеховцов В.А. Операційні системи. – К.: Видавнича група BHV, 2005. – 2005. – 576 с.

  3. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. – СПб.: Питер, 2001. – 736 с.

  4. Харт Дж.В. Системное программирование в среде Win32. – М.: Вильямс, 2001. – 464 с.

  5. Бекон Дж., Харрис Т. Операционные системы. – К.: Издат. группа BHV; СПб.: Питер, 2004. – 800 с.

  6. Иртегов Д.В. Введение в операционные системы. – СПб.: БХВ-Петербург, 2002. – 624 с.

  7. Столингс В. Операционные системы. – М.: Вильямс, 2002. – 848 с.

  8. Microsoft Windows 2000 Professional. Учебный курс МCSE. Пер. с англ – 2-е изд., перераб.- М.: Издательско-торговый дом «Русская Редакция, 2001. – 672 с.

  9. Верма Р.Д. Справочник по функциям Win 32 API. – М.: Горячая линия –Телеком, 2002. – 488 c.