Praca z bibliotekami dołączanymi dynamicznie (DLL). Przykłady wykorzystania biblioteki DLL w różnych językach. Ładowanie i importowanie z biblioteki DLL w czasie wykonywania

Czasami podczas uruchamiania programu pojawia się komunikat, że *. dll(na przykład VCompLib.dll) lub *. ocx(np. seon.ocx). W takim przypadku program oczywiście się nie uruchamia.

Komunikaty o błędach mogą być różne (zależy to głównie od języka, w którym napisany jest program), na przykład: „Składnik „MSCOMM32.OCX” nie został poprawnie zarejestrowany: brakuje pliku lub jest on nieprawidłowy” , lub „Aplikacja nie została uruchomiona, ponieważ nie znaleziono pliku MSVBVM50.DLL. Ponowna instalacja aplikacji może rozwiązać ten problem”, lub „Błąd pliku wykonawczego DLL/OCX”. W tym samym czasie w Windows Vista pojawi się dodatkowe okno Asystent zgodności programów z przesłaniem Ten program wymaga brakującego składnika systemu Windows.

Krótka informacja

· DLL (z angielskiego. Biblioteka linków dynamicznych Biblioteka linków dynamicznych)koncepcja systemu operacyjnego Microsoft Windows ; biblioteka dynamiczna, która umożliwia wielokrotne użycie przez różne aplikacje. K DLL czasami określane również mianem kontroli ActiveX I . Na świecie UNIX podobne funkcje pełni tzw wspólne obiekty(„obiekty współdzielone”). Format pliku *. dll przestrzega tych samych konwencji, co *. exe, łącząc kod, tabele i zasoby.

ActiveX nazwa grupy opracowanych technologii Microsoft do programowania aplikacji komponentowych opartych na modelach COM.

COM(w skrócie z angielskiego. Komponentowy model obiektowy) komponentowy model obiektu Microsoft, standardowy mechanizm obejmujący interfejsy, za pośrednictwem których niektóre obiekty dostarczają swoje usługi innym; jest podstawą wielu technologii obiektowych, m.in OLE I ActiveX).

OLE(w skrócie z angielskiego. Linkowanie i osadzanie obiektów) nazwa zwyczajowa (do 1996 r.) dla grupy technologii obiektowych Microsoft na podstawie COM (OLE 1, OLE 2, Automatyzacja OLE, Baza danych OLE itd.).

· Formant ActiveXelement kontrolny ActiveX; wprowadzony w 1996 roku Microsoft nowa nazwa dla niezależnych programowalnych komponentów, dawniej zwana Kontrolki OLE, OCX, Niestandardowe kontrolki OLE; w przeciwieństwie do tych ostatnich pozwalają na pracę z Internet.

· OCX(w skrócie z angielskiego. Niestandardowe rozszerzenie OLE) ruchome elementy sterujące, Kontrolka niestandardowa OLE, Kontrola OLE. Można powiedzieć, że pliki *. ocx to są kontrole ActiveX, które wykonują w przybliżeniu te same funkcje co *. dll.

· Kontrolka niestandardowa OLEspecjalistyczny element sterujący OLE, Kontrola OLE.

Kontrola OLE elementy sterujące OLE, programowalne komponenty aplikacji z interfejsem opartym na OLE, co pozwala na łatwe uwzględnienie ich w innych aplikacjach; od 1996 roku nazywają się Formant ActiveX. Synonimy: OCX, OLEniestandardowa kontrola.

Sposoby rozwiązania problemu

Jeśli napotkasz błędy związane z *. dll I *. ocx, niezbędny:

1. Zainstaluj ponownie program.

2. Jeśli ponowna instalacja programu nie pomoże, należy sprawdzić obecność wymaganych plików w systemie. Akta *. dll I *. ocx z reguły powinien znajdować się w folderze \WINDOWS\system32(rzadziej - w katalogu konkretnego programu). Jeśli pliki są obecne, potrzebujesz ich.

Jeśli wymaganych plików nie ma, znajdź je w Internecie, pobierz i skopiuj do folderu \WINDOWS\system32 oraz do katalogu programu. Teraz ich potrzebujesz.

Podczas rejestracji *. dll I *. ocx są nagrane w Rejestr systemu Windows(można to również zrobić ręcznie). Jednak w wątku parametr jest tworzony REG_DWORD, na przykład C:\Program Files\InterVideo\Common\Bin\StorageTools.dll lub C:\WINDOWS\System32\MSCOMCTL.OCX o wartości 1 .

Rejestracja *. dll I *. ocx wykonywane przy użyciu serwera rejestracyjnego regsvr32.exe(którego adres dysku to C:\WINDOWS\system32).

Rozważ metody rejestracji:

1. Kliknij Start - Uruchom... - Uruchom program - nazwa pliku regsvr32 - OK.

2. Kliknij Start - Uruchom... - Uruchom program - cmd - OK. Uruchomi się tłumacz poleceń cmd.exe, po wyświetleniu monitu systemu C:\Documents and Settings\UserName> Wchodzić regsvr32 nazwa pliku, na przykład regsvr32 seon.ocx.

3. Jeśli używasz menedżer plików Całkowity dowódca , możesz się zarejestrować *. dll I *. ocx za pomocą wiersza poleceń Całkowity dowódca.

Notatka

Użycie poleceń regsvr32:

regsvr32 ] plik dll

/u- anuluj rejestrację DLL;

/s– tryb „cichy” – okna komunikatów nie są wyświetlane;

Jeden z najbardziej typowe błędy w systemie Windows są to błędy z bibliotekami DLL. Ważne jest, aby wiedzieć, jak można je naprawić bez ponownej instalacji systemu operacyjnego.


Windows wyświetla błąd z plikiem DLL i nie wiesz, co zrobić? Nie martw się, masz co najmniej 3 opcje rozwiązania każdego problemu tego rodzaju. Dokumenty systemowe są odpowiedzialne za stabilna praca nie tylko sam system operacyjny, ale także programy innych firm, więc warto dowiedzieć się, jak rozwiązać wszystkie problemy

Pliki z rozszerzeniem .DLL są pliki systemowe, które są używane zarówno przez system Windows, jak i programy stron trzecich. Pliki z tym uprawnieniem są często przyczyną problemów, ale sam system ostrzega przed nimi. Jeśli jakikolwiek plik jest uszkodzony, zobaczysz komunikat o błędzie podobny do tego:

Kiedy zobaczysz taki komunikat, musisz zwrócić uwagę, do którego pliku odnosi się okno. Najlepiej nie tylko zapamiętać, ale także zapisać nazwę tego pliku. Problemy z nimi są dobre, ponieważ sam system powiadamia, gdzie szukać źródła problemu.

Jak naprawić błędy

Istnieją trzy sposoby, aby to naprawić:

  • Przywróć system;
  • Zastąp wymagany plik;
  • Korzystaj z programów uniwersalnych;

Przywracanie systemu to kardynalna metoda, której lepiej nie stosować, jeśli masz tylko 1 błąd. Ta metoda jest dobra tylko wtedy, gdy masz ogromne problemy, a system jest wyjątkowo niestabilny. Aby móc przywrócić system, musisz wcześniej utworzyć punkt przywracania lub mieć utworzyć kopię zapasową cały system operacyjny. Jeśli czytasz ten materiał w dniu, w którym nie masz ani jednego problemu, zalecamy natychmiastowe utworzenie kopii zapasowej lub punktu przywracania. Można to zrobić za pomocą specjalnych programów lub po prostu skorzystać ze standardowej funkcjonalności swojego system operacyjny.

Nadpisanie wymaganego pliku jest idealne, jeśli masz tylko jeden. W takim przypadku musisz znaleźć wymaganą bibliotekę w Internecie i tylko ją nadpisać. Gdy szukasz biblioteki, jednocześnie określ, w której sekcji na komputerze się ona znajduje. Nie zapominaj również, że pliki różnią się w zależności od głębi bitowej systemu operacyjnego. Jeśli masz Windows 32 bit, to potrzebujesz biblioteki x32, robimy to samo z Windows 64 bit, piszemy tam tylko biblioteki 64-bitowe.

Trzecim sposobem jest użycie programy specjalistyczne, najprostszy. Na przykład możesz użyć , ale są też inne narzędzia. Takie programy mogą analizować Twoje urządzenie, znajdować wszystko i automatycznie je naprawiać. Zalecamy korzystanie wyłącznie z darmowych wersji programów, ponieważ płatne odpowiedniki rzadko się od siebie różnią. Automatyczna eliminacja jest możliwa tylko wtedy, gdy Twoje trudności nie są krytyczne, a system jako całość nadal działa poprawnie.

Popularne problemy

Istnieje kilka problematycznych bibliotek DLL, które powodują problemy częściej niż inne. Te biblioteki obejmują:

  • d3d11;
  • dxgi;
  • msvcr100;
  • niełukowe;
  • xna żywo;
  • otwarte32;

Wszystkie te problemy są związane z pakietem DirectX. Aby je naprawić, wystarczy pobrać i ponownie zainstalować pakiet. W rezultacie wyeliminujesz takie trudności na swoim komputerze z systemem Windows. Oto inny sposób, jeśli żaden z tego artykułu nie zadziałał dla Ciebie:

Otwarte pliki w formacie DLL programy specjalne. Istnieją 2 rodzaje formatów DLL, z których każdy otwiera się różne programy. Aby otworzyć żądany typ formatu, zapoznaj się z opisami plików i pobierz jeden z sugerowanych programów.

Jak otworzyć plik DLL

Program HELPER.DLL pomoże Ci znaleźć i zainstalować brakującą lub uszkodzoną bibliotekę DLL.

Pliki w formacie DLL zawierają ustawienia łącza do różne zasoby używane przez program, takie jak ikony. Biblioteki DLL są przeznaczone wyłącznie dla systemu operacyjnego Windows. W innych systemach operacyjnych takie pliki można otwierać tylko za pomocą emulatorów (wyjątkiem są aplikacje wieloplatformowe dla systemu Mac OS). Należy pamiętać, że współczesne programy nie obsługują plików dla architektury 16-bitowej.

Środki ostrożności

W większości przypadków użytkownik nie musi otwierać plików DLL, ponieważ są one przeznaczone wyłącznie dla programistów. Edycja tego pliku może niekorzystnie wpłynąć na wydajność programy indywidualne i system operacyjny, z tego powodu musisz znaleźć plik DLL i wykonać jego kopię.

Programy do otwierania plików DLL

Zobacz kod źródłowy

Jednym z najczęstszych sposobów przeglądania rozszerzenia DLL jest . Program posiada wbudowane funkcje dekompilacji niektórych plików, dzięki czemu można debugować biblioteki dll, a co najważniejsze jest całkowicie darmowy. Oczywiście nie można zagwarantować poprawnego wyświetlania kodu dla wszystkich plików.

Alternatywnie można użyć dekompilatora dotPeek. Jest również darmowy, ale może działać tylko z programami napisanymi w C#.

Dostosowywanie interfejsu programu

W tym celu najlepiej się nadaje. Za pomocą tego programu możesz łatwo zmieniać ikony, okna dialogowe lub ustawić własną animację. Niestety program jest płatny nawet w przypadku niekomercyjnego użytku. Należy pamiętać, że mogą wystąpić problemy z dużymi plikami (około 1 GB lub więcej).

Debugowanie

przez większość w prosty sposób jest korzystanie z programu Visual Studio firmy Microsoft. To jest ładne funkcjonalne narzędzie, którego możliwości obejmują debugowanie programu, ale pomoże tylko wtedy, gdy plik nie jest chroniony.

Jeśli zamiast tego potrzebujesz tylko pobrać bibliotekę DLL uszkodzony plik(lub brakuje biblioteki DLL), wtedy pomoże tutaj DLL-helper - całkowicie darmowy program.

Dynamiczne strony internetowe

Istnieje inny format DLL - pliki generujące kod dla witryn. Takie biblioteki można otworzyć w dowolnym komfortowe środowisko na przykład rozwój studio wizualne. Przeglądarka pomoże przetestować je w działaniu. Lepiej używać najnowsze wersje popularnych przeglądarek, w przeciwnym razie plik może nie wyświetlać się poprawnie.

Strona internetowa generowana automatycznie podczas dostępu użytkownika. Może łączyć skrypty po stronie serwera, takie jak Perl lub , które generują kod dla stron internetowych.

Strony internetowe w plikach rozszerzeń DLL są najczęściej przechowywane na serwerach internetowych Microsoft IIS. Rozszerzenie DLL musi być mapowane na odpowiedni silnik skryptowy serwera, aby poprawnie przetworzyć stronę.

Skompilowany plik biblioteki zawierający zestaw procedur i/lub sterowników, do których się odwołuje i które wykonuje program. Umożliwia różnym programom dostęp do publicznych funkcji systemu za pośrednictwem standardowych bibliotek. Może być dynamicznie połączony w programie podczas jego działania.

Wiele plików DLL (czytaj DLL) jest dostarczanych przez operacyjny system Windows, inne są częścią Programy Windows. Zapewniają również różne funkcje oprogramowania, takie jak połączenie z urządzeniami zewnętrznymi oraz wejście i wyjście sygnału. twardy dysk. Mogą się do nich również odwoływać wieloplatformowe aplikacje dla komputerów Mac.

Uwaga: Usunięcie lub zmodyfikowanie zawartości pliku DLL może spowodować błędy w programie, który odwołuje się do pliku. Dlatego nie należy otwierać ani edytować plików DLL.

8 odpowiedzi

Co to jest biblioteka DLL?

Biblioteki dołączane dynamicznie (DLL) są podobne do plików EXE, ale nie są bezpośrednio wykonywalne. Są one podobne do plików .so w systemie Linux/Unix. Innymi słowy, DLL jest implementacją bibliotek współdzielonych MS.

Pliki DLL są podobne do EXE, ponieważ sam format pliku jest taki sam. Zarówno EXE, jak i DLL są oparte na formacie Portable Executable (PE). Biblioteki DLL mogą również zawierać komponenty COM i biblioteki .NET.

Co zawiera biblioteka DLL?

DLL zawiera funkcje, klasy, zmienne, interfejsy użytkownika i zasoby (takie jak ikony, obrazy, pliki,...), których używa EXE lub inna biblioteka.

Rodzaje bibliotek:

W prawie wszystkich systemach operacyjnych istnieją 2 rodzaje bibliotek. Biblioteki statyczne i biblioteki dynamiczne. W Rozszerzenia Windows pliki są następujące: Biblioteki statyczne (.lib) i biblioteki dynamiczne (.dll). Główna różnica polega na tym, że biblioteki statyczne są połączone z plikiem wykonywalnym w czasie kompilacji; podczas gdy biblioteki dołączane dynamicznie nie są łączone do czasu uruchomienia.

Więcej o bibliotekach statycznych i dynamicznych:

Zwykle jednak nie widzisz bibliotek statycznych na swoim komputerze, ponieważ biblioteka statyczna jest budowana bezpośrednio w module (EXE lub DLL). Biblioteka dynamiczna jest samodzielnym plikiem.

Biblioteka DLL może być modyfikowana w dowolnym momencie i jest ładowana tylko w czasie wykonywania, gdy plik EXE jawnie ładuje bibliotekę DLL. Biblioteki statycznej nie można zmienić po skompilowaniu jej do pliku EXE. Biblioteka DLL może być aktualizowana pojedynczo bez aktualizowania samego pliku EXE.

Program ładuje bibliotekę DLL, gdy jest uruchamiana przez interfejs API Win32 LoadLibrary lub gdy jest zależna od innej biblioteki DLL. Program używa GetProcAddress do załadowania funkcji lub LoadResource do załadowania zasobu.

Dalsza lektura:

Powiązane pytania


Podobne pytania

Co to jest biblioteka DLL?

Pliki DLL to pliki binarne, które mogą zawierać kod wykonywalny i zasoby, takie jak obrazy itp. W przeciwieństwie do aplikacji nie można ich wykonać bezpośrednio, ale aplikacja ładuje je w razie potrzeby (lub natychmiast podczas uruchamiania).

Jak ważne są?

Większość aplikacji ładuje potrzebne pliki DLL podczas uruchamiania. Jeśli którykolwiek z nich nie zostanie znaleziony, system w ogóle nie będzie mógł rozpocząć procesu.

Pliki DLL mogą wymagać innych plików DLL

Podobnie jak aplikacja wymaga pliku DLL, plik DLL może zależeć od innych Pliki DLL. Jeśli jedna z tych bibliotek DLL nie zostanie znaleziona w łańcuchu zależności, aplikacja nie zostanie załadowana. Można to łatwo debugować za pomocą dowolnych narzędzi zależności, takich jak Dependency Walker.

Jest ich tak wiele w folderach systemowych

Większość funkcjonalności systemu jest prezentowana programowi użytkownika w postaci plików DLL, ponieważ są one standardową formą. dzielenie się kod/zasoby. Każda funkcja jest przechowywana oddzielnie w różnych plikach DLL, dzięki czemu ładowane są tylko niezbędne pliki DLL, a tym samym ograniczane są limity pamięci w systemie.

Zainstalowane aplikacje używaj również plików DLL

Pliki DLL stają się również formą fizycznego oddzielenia funkcji, jak wyjaśniono powyżej. Dobre aplikacje staraj się również nie ładować plików DLL, dopóki nie są absolutnie konieczne, co zmniejszy wymagania dotyczące pamięci. Powoduje również, że aplikacje wysyłają wiele plików DLL.

DLL Piekło

Jednak czasami aktualizacje systemu często przerywają inne programy, gdy występuje niezgodność wersji między udostępnionymi plikami DLL a wymaganym programem. Punkty kontrolne systemu i pamięć podręczna DLL itp. Były inicjatywy M$ mające na celu rozwiązanie tego problemu. Platforma .NET może w ogóle nie mieć tego problemu.

Skąd wiemy, co znajduje się w pliku DLL?

Powinieneś użyć zewnętrznego narzędzia, takiego jak DUMPBIN lub Dependency Walker, które nie tylko pokaże, jakie publicznie widoczne funkcje (znane jako eksporty) znajdują się w plikach DLL, ale także jakie inne biblioteki DLL są wymagane i które są eksportowane z tych bibliotek DLL, od których zależy ten plik DLL .

Jak je tworzymy/używamy?

Zapoznaj się z dokumentacją oprogramowania od dostawcy. W przypadku języka C++ zapoznaj się z LoadLibrary w witrynie MSDN.

Załóżmy, że budujesz plik wykonywalny, który używa niektórych funkcji znajdujących się w bibliotece.

Jeśli biblioteka korzystała statyczny, linker skopiuje kod obiektowy tych funkcji bezpośrednio z biblioteki i wklei je do pliku wykonywalnego.

Teraz, jeśli ten plik wykonywalny jest uruchomiony, ma wszystko, czego potrzebuje, więc plik wykonywalny programu ładującego po prostu ładuje go do pamięci i uruchamia.

Jeśli biblioteka dynamiczny, linker nie wstawi kodu wynikowego, ale raczej wstawi skrót, który zasadniczo mówi, że ta funkcja jest w tym DLL w tym miejscu.

Teraz, jeśli ten plik wykonywalny jest uruchamiany, brakuje części pliku wykonywalnego (np. kodów pośredniczących), więc program ładujący przechodzi przez plik wykonywalny, naprawiając brakujące kody zastępcze. Dopiero po rozwiązaniu wszystkich kodów pośredniczących plik wykonywalny będzie mógł działać.

Aby zobaczyć to w akcji, usuń lub zmień nazwę biblioteki DLL i obserwuj, jak program ładujący zgłasza brakujące błąd dll podczas próby uruchomienia pliku wykonywalnego.

Stąd nazwa Biblioteka linków dynamicznych, części procesu łączenia są wykonywane dynamicznie w czasie wykonywania przez plik wykonywalny modułu ładującego.

Ostatnia uwaga: jeśli nie połączysz się z biblioteką DLL, linker nie wstawi żadnych kodów pośredniczących, ale system Windows nadal zapewnia interfejs API GetProcAdres, który umożliwia ładowanie biblioteki DLL po uruchomieniu pliku wykonywalnego.

Pliki DLL zawierają Eksportuj tabelę, która jest listą znaków, które mogą być przeglądane przez program wywołujący. Symbole są zwykle funkcjami z konwencją wywoływania języka C (__stcall). Tabela eksportu zawiera również adres funkcji.

Dzięki tym informacjom program wywołujący może następnie wywoływać funkcje w bibliotece DLL, nawet jeśli nie miał dostępu do biblioteki DLL w czasie kompilacji.

Biblioteki DLL (Dynamic Link Libraries) i SL (odpowiednik bibliotek współdzielonych w systemie UNIX) to po prostu biblioteki kodu wykonywalnego, które można dynamicznie łączyć z plikiem wykonywalnym w czasie ładowania.

Biblioteki statyczne są wstawiane do pliku wykonywalnego w czasie kompilacji i od tego momentu są naprawiane. Zwiększają rozmiar pliku wykonywalnego i nie można ich podzielić.

Biblioteki dynamiczne mają następujące zalety:

1/ Są ładowane w czasie wykonywania, a nie kompilowane, więc mogą być aktualizowane niezależnie od pliku wykonywalnego (wszystkie te fantazyjne okna i okna dialogowe, które widzisz w Windows, pochodzą z DLL, więc wygląd Twoja aplikacja może się zmienić bez przepisywania).

2/ Ponieważ są one niezależne, kod można podzielić na wiele plików wykonywalnych - to oszczędza pamięć, ponieważ jeśli uruchomisz 100 aplikacji z jedną biblioteką DLL, w pamięci może znajdować się tylko jedna kopia tej biblioteki.

Ich główną wadą jest zaleta #1 - zmiana DLL niezależnie od aplikacji może spowodować, że aplikacja przestanie działać lub zacznie zachowywać się dziwnie. Wersje DLL generalnie nie są dobrze zarządzane w systemie Windows, co prowadzi do wymyślnej nazwy „DLL Hell”.

FAQ

  1. Otwórz plik zip pobrany ze strony.
  2. Wyodrębnij plik DLL do dowolnej lokalizacji na komputerze.
    • Następnie radzimy umieścić plik w folderze programu, który żąda podany plik. Upewnij się, że używasz 32-bitowego formatu pliku DLL dla programu 32-bitowego i 64-bitowego formatu pliku DLL dla programu 64-bitowego, w przeciwnym razie możesz otrzymać błąd 0xc000007b.
  3. Jeśli powyższe kroki nie rozwiążą problemu, umieść plik w folderze systemowym. Domyślnie ten folder znajduje się tutaj:
    • C:\Windows\System (Windows 95/98/Me)
      C:\WINNT\System32 (Windows NT/2000) lub
      C:\Windows\System32 (Windows XP, Vista, 7, 8, 8.1, 10).
  4. W wersji 64-bitowej folder Windows w przypadku 32-bitowych bibliotek DLL wartość domyślna znajduje się tutaj:

C:\Windows\SysWOW64\ i dla 64-bitowych bibliotek DLL
C:\Windows\System32\ .

Pamiętaj, aby nadpisać wszystkie istniejące pliki (ale zachowaj kopię zapasową oryginalnego pliku).

Zrestartuj swój komputer.

Jeśli to nie rozwiąże problemu, spróbuj wykonać następujące kroki, aby przenieść plik do rejestru:

Dla 32-bitowych bibliotek DLL w wersji 32-bitowej Wersje Windows a dla 64-bitowych bibliotek DLL w 64-bitowym systemie Windows:

  1. otwarty wiersz poleceń z podwyższonymi prawami.
    • Aby to zrobić, kliknij Start, Wszystkie programy, wybierz Akcesoria, kliknij kliknij prawym przyciskiem myszy myszy w wierszu polecenia, a następnie kliknij „Uruchom jako administrator”.
    • Jeśli zostaniesz poproszony o podanie hasła administratora lub potwierdzenie, wprowadź hasło lub kliknij Zezwól.
  2. Następnie wpisz regsvr32 "filename".dll i naciśnij Enter.

Wpis rejestru dla 32-bitowych bibliotek DLL w 64-bitowym systemie Windows:

  1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień, wykonując powyższe kroki.
    • cd c:\windows\syswow64\
  2. Następnie wpisz następujące polecenie i naciśnij Enter:
    • regsvr32 c:\windows\syswow64\"nazwa_pliku".dll

Pliki DLL to dynamiczne biblioteki używane przez wiele programów na twoim komputerze. W momencie usuwania lub aktualizacji jednego z programów z komputera PC może się okazać, że pliki DLL zainstalowane wcześniej w systemie operacyjnym mogą zostać przez pomyłkę usunięte. Oprócz tej sytuacji bardzo często system nie może wykryć biblioteki DLL z powodu wirusów, nielicencjonowanych oprogramowanie, które z pewnością negatywnie wpłyną na ich pobyt przy komputerze.

Bardzo często pliki DLL znikają z powodu zerwania powiązań między programem a systemem operacyjnym w przypadkach, gdy użytkownik tryb ręczny przenosi program z jednego folderu do drugiego. Tylko automatyczne i systemowe narzędzia do usuwania i instalowania programów na komputerze mogą zapewnić najbardziej komfortowe korzystanie z komputera i systemu operacyjnego.

Biblioteka linków dynamicznych

DLL (angielska biblioteka z dynamicznym linkiem) - biblioteka dynamiczna

DLL (ang. Dynamic-link library) - koncepcja systemu operacyjnego Microsoft Windows, biblioteka dynamiczna, która umożliwia wielokrotne korzystanie z różnych aplikacje, koncepcja systemu operacyjnego Microsoft Windows. Biblioteki DLL zawierają również kontrolki i sterowniki ActiveX.

Format pliku DLL jest zgodny z tymi samymi konwencjami, co format pliku wykonywalnego. Pliki EXE, łącząc kody, tabele i zasoby.

Cel wprowadzenia DLL

Początkowo zakładano, że wprowadzenie bibliotek DLL pozwoli na sprawną organizację pamięci i przestrzeni dyskowej, przy wykorzystaniu tylko jednej instancji modułów bibliotecznych dla wielu aplikacji. Było to szczególnie ważne dla wczesne wersje Microsoft Windows z poważnymi ograniczeniami pamięci.

Ponadto miało to poprawić efektywność rozwoju i wykorzystania narzędzi systemowych poprzez modułowość. Wymiana programów DLL z jednej wersji na inną miała umożliwić niezależny rozwój systemu bez wpływu na aplikacje. Ponadto biblioteki DLL 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 przerodziła się w koncepcję kontrolek ActiveX.

W rzeczywistości nie osiągnięto pełnych korzyści z wstrzykiwania DLL z powodu zjawiska zwanego piekłem DLL. piekło DLL występuje, gdy wiele aplikacji wymaga jednocześnie różne wersje Biblioteki DLL ze względu na ich niepełną kompatybilność, co prowadzi do poważnych konfliktów. Kiedy system urósł do pewnego rozmiaru, liczba bibliotek DLL zaczęła przekraczać wiele tysięcy, nie wszystkie z nich były całkowicie niezawodne i kompatybilne, a piekielne konflikty DLL zaczęły pojawiać się bardzo często, drastycznie zmniejszając ogólną niezawodność systemu. Późno Wersje Microsoft Windows zaczął zezwalać na używanie równoległe różne wersje DLL, który negował korzyści płynące z pierwotnej zasady modułowości.