ID: 2786 OOP - Podstawy Średnie

Źródło: Arkusze CKE

W jaki sposób można dynamicznie załadować bibliotekę w języku C/C++ i jakie są zalety takiego rozwiązania?

Warianty odpowiedzi

  1. A

    Biblioteki dynamiczne ładuje się wyłącznie przy kompilacji, więc nie można ich ładować w czasie działania programu.

  2. B

    Dynamiczne ładowanie biblioteki odbywa się przy pomocy polecenia gcc -dynamic-load.

  3. C

    Za pomocą funkcji dlopen() w systemach Unix/Linux i LoadLibrary() w Windows; pozwala to na zmniejszenie rozmiaru pliku wykonywalnego.

  4. D

    Biblioteki ładowane dynamicznie są zawsze wolniejsze od bibliotek statycznych, więc nie mają zalet.

Wyjaśnienie

Dynamiczne ładowanie bibliotek polega na tym, że program prosi system operacyjny o wczytanie biblioteki do pamięci dopiero podczas wykonywania kodu, w dowolnym wybranym momencie.

W systemach z rodziny Linux używa się do tego funkcji dlopen(), a w Windowsie odpowiada za to LoadLibrary().

Główną zaletą jest oszczędność zasobów. Program uruchamia się szybciej i zajmuje mniej pamięci, bo ładuje tylko te moduły, z których w danej chwili faktycznie korzysta.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Podstawy