Робота з динамічно зв’язується, (DLL) в CBuilder

Вище в розділі ми розглядали зберігання ресурсів у динамічній бібліотеці Однак крім ресурсів ви можете зберігати в DLL багато інших речей, найважливішою з яких є код функцій DLL – одна з найбільш корисних і потужних можливостей, коли-небудь доданих в операційну систему Windows Використовуючи DLL, ви вирішуєте два головні завдання в розробці додатків: обмеження по памяті і проблеми з версіями

Обмеження по памяті в багатозадачних операційних системах виникають через те, що одночасно завантажено в память багато програм Багато з цих програм виконують одні й ті ж завдання, проте кожна містить свій власний код для виконання цієї роботи Якби весь цей код був витягнутий з програми і поміщений в окремий модуль, спільно використовуваний усіма запущеними програмами, то було б набагато більше вільної памяті для програм Це основна концепція DLL Кращим прикладом DLL може служити сама операційна система Всі компоненти Windows, які ви викликаєте з вашого додатки (Код промальовування, код файлової системи і т д), живуть в наборі системних DLL, які використовуються спільно всіма програмами, що працюють в Windows Можливість спільно використовувати цей код означає, що вашій програмі не потрібно тримати цей код у собі

Коли ваша програма завантажує DLL, динамічно або статично, відбувається пошук в памяті на предмет того, завантажена вже ця DLL Якщо DLL знайдена, то замість того, щоб завантажити другу копію, операційна лічіт лічильник використання DLL Ви це вже бачили в нашому прикладі таблиці рядків

Важливо, що ви можете не тільки завантажувати інформацію, таку як ресурси, з DLL, але також і використовувати функції, які там зберігаються У даному прикладі ми створимо бібліотеку (DLL), а потім використовуємо іншу програму для завантаження функції з цієї DLL в наш додаток Ми можемо використовувати функції в DLL для відображення повідомлення, підрахунку результатів і будь-яких інших речей, які можна робити в звичайному додатку У DLL є деякі обмеження, в основному вони відносяться до управління памяттю, але до нашого прикладу вони відношення не мають

Джерело: Теллес М – Borland C + + Builder Бібліотека програміста – 1998

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*