Avast Auxiliary Library
Avast SafeZone Browser Library
CML Library
Common functions
Antivirus independent functions
Antivirus HW dependent library
Communication Channels
Antivirus engine loader
Hook Library
Hook Library
AvastIP Dynamic Link Library
Avast Script Blocking filter library
Avast Property Storage library
Raw disk access library
Avast Utility library
ATL Module for Windows XP (Unicode)
Bitdefender Active Threat Control Usermode Filter
AthLib32
ATI Mach64 DirectDraw 3D HAL.
Central Memory Manager / Queue Server Module
ATI RAGE 128 WindowsNT Display Driver
ATI Radeon WindowsNT Display Driver
eRecord Message Resource File
ATI External Event Utility DLL Module
ati3d1ag.dll
ati3d2ag.dll
ati3duag.dll
ADL
ADL
ATI CAL DD
aticfx32.dll
aticfx64.dll
Graphics DEM
atidxx32.dll
atidxx64.dll
atiglpxx.dll
atigktxx.dll
atiglpxx.dll
Radeon PCOM Universal Driver
AMD OpenGL driver
AMD OpenGL driver
atiu9pag.dll
atiu9pag.dll
atiumd64.dll
Kiedy pojawia się okno błędu systemu informujące o braku pliku DLL, pojawiają się następujące pytania: jaki jest jego cel?
Pliki DLL mają podstawowy cel, redukcję kodu i zwiększenie wydajności komputera. Plik DLL to biblioteka dynamiczna, która jest używana przez wszystkie aplikacje.
Na komputerze z systemem Windows mogą wystąpić błędy, które są związane z plikami DLL. Błędy te uniemożliwiają użytkownikowi uruchomienie wymaganych przez niego programów. Na ekranie zaczynają pojawiać się komunikaty o błędach, określające dokładnie, którego pliku .DLL brakuje. Problem można rozwiązać poprzez odnalezienie konkretnego pliku i umieszczenie go w katalogu systemowym.
Pliki DLL są uważane w większości operacji użytkowania za główny czynnik błędów podczas uruchamiania i działania systemu Windows. Plik DLL nie musi być edytowany, ponieważ może powodować nowe problemy, które będą miały wpływ na wiele programów z innymi plikami DLL.
Kody w DLL są uważane za współdzielone przez procesy, które potrzebują DLL (pliki znajdują się w pamięci fizycznej).
Starsze wersje Windows, w których każdy uruchomiony proces miał jeden obszerny obszar zadań, wymagały jednej kopii kodu DLL.
Na przykład konkretne programy z załadowanej biblioteki DLL nie mają tych adresów w wolnej bazie. Wtedy należy wykonać kolejną kopię kodu DLL z bazą o unikalnym zestawie relokowalnych współczynników wejściowych. Jeśli trzeba przywrócić pamięć fizyczną, kod zajętej partycji jest resetowany wraz z zawartością i następuje szybkie przeładowanie z pliku DLL. Ponadto, GDI ładuje wszystkie inne sterowniki urządzeń, więc Windows zaczyna ładować resztę pakietów Windows, wywołując te programy API z USER/GDI.
Z tego powodu plik DLL przenosi wiele programów użytkowych naraz. Przy aktualizacji DLL do nowszej wersji, poprzednia wersja jest nadpisywana lub usuwana z komputera. ActiveX Controls, Control Panel Recordsdata i sterowniki urządzeń są podstawą danych dla Windows jako Dynamic Link Libraries.
Istnieje kilka sprawdzonych sposobów radzenia sobie z problemami z bibliotekami DLL:
Powiązane pliki wykonywalne mogą być załadowane wcześniej, jeśli uruchomisz je w podobnych ustawieniach, w jakich zostały skompilowane. Dodajmy, że każdy standardowy cel systemu Windows ma powiązane pliki DLL.
Świetną alternatywą dla wiązania importu ze środowiskiem docelowym jest uruchamianie z instalacją narzędziową. Jednak taki program zmienia wartość kontrolną pliku wykonywalnego. Późniejsze wersje Windows nie mają już adresu każdej załadowanej biblioteki, co prowadzi do znacznie mniejszego pliku wykonywalnego.
Wiele bibliotek dynamicznego linkowania ma w swoich plikach końcówkę .DLL, ale inne biblioteki używają .OCX, .CPL, .DRV. Pakiety definiujące, takie jak UPX, kompresują bibliotekę DLL, co prowadzi do problemu: sekcje kodu do odczytu i zapisu nie są oddzielone. Sekcje te przypominają niepubliczne partycje, ponieważ są prywatne w obrębie każdego procesu.
W rezultacie, biblioteki DLL z sekcjami publicznymi muszą być koniecznie nieskompresowane, gdy wiele pakietów używa ich jednocześnie. Każda instancja programu musi mieć jedną prywatną kopię biblioteki DLL.