Page 58 - 4989
P. 58

us/library/windows/desktop/ff818516(v=vs.85).aspx).

                  6.3.2  Динамічно зв’язувані бібліотеки

                  Динамічно  зв’язувана  бібліотека  (DLL  –  dynamically  linked

            library) – це файл із виконуваним кодом, що містить функції, які
            можуть бути викликані іншими програмами. Як правило, у DLL
            оформляють  функції,  які  можуть  використовуватись  багатьма

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

                      1)  шляхом  компонування  програми  з  файлом  .lib
                  відповідної бібліотеки;
                      2)  шляхом явного завантаження бібліотеки API-функцією

                  LoadLibrary,  отримання  покажчиків  на  потрібні  функції
                  функцією  GetProcAddress  та  викликом  функцій  через  ці
                  покажчики          (по      завершенні         роботи        бібліотеку        слід

                  вивантажити функцією FreeLibrary).
                  Системні бібліотеки є динамічно зв’язуваними бібліотеками,
            які  присутні  в  системному  адресному  просторі  всіх  програм.  У

            середовищі  Microsoft  Visual  Studio  підключення  цих  бібліотек
            при  компоновці  програм  забезпечується  тим,  що  для  кожного
            проекту для компоновщика автоматично додаються посилання на
            .lib-файли  відповідних  бібліотек  (в  цьому  можна  переконатись,

            переглянувши  у  властивостях  проекту  значення  властивості
            Linker->Input->Additional              dependencies).         Файл        .lib    –     це
            «заглушка»,  що  генерується  під  час  збірки  проекту  бібліотеки  і

            містить  код  для  завантаження  динамічно  зв’язуваної  бібліотеки
            та  функції-перехідники  для  виклику  відповідних  функцій  з
            бібліотеки. При компоновці проекту в команди виклику функцій
            Windows АРІ підставляється адреса функцій з файлу .lib, які під

            час  роботи  програми  будуть  викликати  відповідні  функції  з
            файлу .dll.


                  6.3.3  Робота з файлами і каталогами

                  Окрім функцій, які забезпечують базові операції з файлами,
            такі як відкривання, читання та запис, що зазвичай реалізуються
            стандартними  бібліотеками  мов  програмування,  Windows  API


                                                           58
   53   54   55   56   57   58   59   60   61   62   63