Czym są biblioteki DLL ?

Udostępnij w sieciach społecznościowych:

DLL (Z angielskiego Dynamic Link Library – „Dynamic Link Library”, „Dynamic Link Library”) w systemach operacyjnych Microsoft Windows i IBM OS / 2 to dynamiczna biblioteka, która umożliwia wielokrotne korzystanie z różnych aplikacji. Biblioteki te zazwyczaj mają rozszerzenie DLL, OCX (dla bibliotek zawierających ActiveX) lub DRV (dla sterowników systemowych). Format plików dla bibliotek DLL jest taki sam jak dla plików EXE Windows, czyli Portable Executable (PE) dla 32-bitowych i 64-bitowych aplikacji Windows oraz New Executable (NE) dla aplikacji 16-bitowych. Podobnie jak EXE, biblioteki DLL mogą zawierać sekcje kodu, danych i zasobów. W systemach UNIX podobne funkcje są wykonywane przez tak zwane obiekty współdzielone.

Pliki danych o tym samym formacie co biblioteka DLL, ale różniące się rozszerzeniem lub zawierające tylko sekcję zasobów, można nazwać bibliotekami DLL zasobów. Na przykład istnieją biblioteki ikon, czasem z rozszerzeniem ICL, oraz pliki czcionek z rozszerzeniem FON i FOT.

Cel
Początkowo założono, że wprowadzenie biblioteki DLL skutecznie zorganizuje pamięć i miejsce na dysku, wykorzystując tylko jedną kopię modułu biblioteki dla różnych aplikacji. Było to szczególnie ważne w przypadku wczesnych wersji systemu Microsoft Windows z poważnymi ograniczeniami pamięci.

Ponadto miało to na celu poprawę wydajności opracowywania i korzystania z narzędzi systemowych dzięki modułowości. Zastępowanie programów DLL z jednej wersji na drugą powinno umożliwić niezależną aktualizację systemu bez wpływu na aplikacje. Ponadto dynamiczne biblioteki mogą być używane przez różne typy aplikacji – na przykład Microsoft Office, Microsoft Visual Studio itp.

W przyszłości idea modułowości wzrosła w koncepcji Component Object Model i System Object Model.

W rzeczywistości nie można było uzyskać pełnych korzyści z wprowadzenia bibliotek łącz dynamicznych ze względu na zjawisko zwane piekłem DLL („DLL-hell”). Piekło DLL występuje, gdy kilka aplikacji wymaga jednocześnie różnych, nie w pełni kompatybilnych wersji bibliotek, co prowadzi do awarii tych aplikacji i konfliktów, radykalnie zmniejszając ogólną niezawodność systemów operacyjnych. Późniejsze wersje systemu Microsoft Windows zaczęły zezwalać na równoległe korzystanie z różnych wersji biblioteki DLL (technologia montażu obok siebie), co negowało zalety początkowej zasady modularności.

Zobacz:   Windows 95 :) czy ktoś z was pamięta ?

Istnieje również wiele narzędzi, które umożliwiają śledzenie zależności aplikacji w połączonych bibliotekach DLL. Na przykład see_dll z pakietu Microsoft Visual Studio. Na stronie dllxfiles.com pobierzesz brakujące biblioteki DLL.

Komentarze Facebook