Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

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

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування та операційні системи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Кафедра ЕОМ Звіт до лабораторної роботи № 6 з дисципліни " Системне програмування " «СТВОРЕННЯ DLL ТА ЇХ ВИКОРИСТАННЯ ПРИ НЕЯВНОМУ ЗВ’ЯЗУВАННІ НА МОВІ С» Мета: Ознайомитись з технологією та оволодіти навиками створення та використання бібліотек динамічного компонування з використанням неявного зв’язування. ТЕОРЕТИЧНІ ВІДОМОСТІ Завершальним етапом створення програмного продукту є процес збирання (компонування) завантажувального модуля (.exe – файлу). Компонуванням (linking) називають процес створення фізичного або логічного виконуваного файла (модуля) із набору об’єктних файлів бібліотек для подальшого виконання або під час виконання і вирішення проблеми неоднозначності імен, що виникає при цьому. У разі створення фізичного виконуваного файла для подальшого виконання компонування називають статичним, коли у такому файлі міститься все потрібне для виконання програми. У випадку створення логічного виконуваного файла під час виконання програми компонування називають динамічним, у цьому випадку образ виконуваного модуля збирають “на ходу”. Статичне компонування виконуваних файлів має низку недоліків: якщо кілька застосувань використовують спільний код (наприклад, код бібліотеки мови С), кожний виконуваний файл міститиме окрему копію цього коду в результаті такі файли займатимуть значне місце на диску і у пам’яті; під час кожного оновлення застосування, його потрібно наново перекомпонувати і перевстановити; неможливо реалізувати динамічне завантаження програмного коду під час виконання. Для вирішення цих і подібних проблем було запропоновано концепцію динамічного компонування із використанням динамічних або розділюваних бібліотек. Динамічна бібліотека (англ. Dynamic-Load Library — динамічно завантажувана бібліотека) - набір функцій, скомпонованих разом у вигляді бінарного файлу, який може бути динамічно завантажений в адресний простір процесу, що використовує ці функції. Динамічне завантаження- завантаження під час виконання процесу. Динамічне компонування - компонування образу виконуваного файла під час виконання процесу із використанням динамічних бібліотек. До переваги використання динамічних бібліотек, слід віднести: оскільки бібліотечні функції містяться в окремому файлі, розмір виконуваного файла стає меншим; якщо динамічну бібліотеку використовують кілька процесів, у пам’ять завантажують лише одну її копію, після чого сторінки коду бібліотеки відображаються в адресний простір кожного з цих процесів; оновлення застосування може бути зведене до встановлення нової версії динамічної бібліотеки без необхідності перекомпонування тих його частин, які не змінилися; динамічні бібліотеки дають змогу застосуванню реалізовувати динамічне завантаження модулів на вимогу; динамічні бібліотеки дають можливість спільно використовувати ресурси застосування; оскільки динамічні бібліотеки є двійковими файлами, можна організувати спільну роботу бібліотек, розроблених із використанням різних мов програмування. Використання динамічних бібліотек не позбавлене недоліків: динамічне зв’язування сповільнює завантаження застосування. Що більше таких бібліотек потрібно процесу, то більше файлів треба йому відобразити у свій адресний простір під час завантаження, а відображення кожного файла забирає час; при відсутності спільного використання динамічної бібліотеки іншими застосування зовнішня пам’ять може використовуватися не ефективно. На відміну від статичного зв’язування, коли зі загальної бібліотеки вибираються тільки ті функції, що використовуються застосування, при використанні динамічного зв’язування до застосування необхідно додавати повну версію бібліотеки, навіть, якщо використовуються тільки декілька функцій. При значних обсягах бібліотеки втрати пам’яті відчутні; найбільшою проблемою у використанні динамічного компонування є проблема зворотної сумісності динамічних бібліотек. Ця проблема виникає в ситуації, коли застосува...
Антиботан аватар за замовчуванням

05.02.2017 16:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини