Zalety korzystania z bibliotek DLL
Dynamiczne łączenie ma następujące zalety:
Oszczędza pamięć i zmniejsza zamiana.Wiele procesów można użyć strony pojedynczego pliku DLL równocześnie, udostępnianie pojedynczą kopię DLL w pamięci.Natomiast Windows należy załadować do pamięci dla każdej aplikacji, która jest zbudowana z bibliotek statycznych łączy kopia kodu biblioteki.
Oszczędza miejsce na dysku.Wiele aplikacji można udostępnić pojedynczą kopię DLL na dysku.Natomiast każda aplikacja utworzona z biblioteki łącze statyczny ma kod biblioteki połączone do jego obrazu wykonywalnego jako oddzielną kopię.
Uaktualnienia do biblioteki DLL są łatwiejsze.Zmiany funkcji w bibliotece DLL, aplikacje korzystające z nich nie trzeba ponownie kompilowana lub połączyć ponownie, dopóki nie należy zmieniać argumenty funkcji i wartości zwracane.Kod obiektu statycznie wymaga natomiast aplikacji wymagających zmiany funkcji.
Zapewnia obsługę rynku wtórnym.Na przykład można modyfikować sterownik ekranu DLL do obsługi wyświetlania, które nie były dostępne, gdy wniosek został wysłany.
Obsługuje wielojęzyczne programy.Programy napisane w różnych językach programowania można wywołać tę samą funkcję DLL tak długo, jak programy, należy wykonać konwencję wywołania funkcji.Programy i funkcja DLL musi być zgodny pod następującymi względami: kolejność, w której funkcja spodziewa się argumentów pchany w stosie, czy funkcja lub aplikacja jest odpowiedzialna za czyszczenie stosu i czy wszystkie argumenty są przekazywane w rejestrach.
Udostępnia mechanizm rozszerzenia klas MFC biblioteki.Można dziedziczyć klas istniejących klas MFC i umieścić je w rozszerzeniem MFC DLL do użytku w aplikacjach MFC.
Ułatwia tworzenie wersji międzynarodowych.Umieszczając w bibliotece DLL zasobów, jest znacznie ułatwia tworzenie międzynarodowych wersjach aplikacji.Można umieścić ciągi dla każdej wersji językowej aplikacji w oddzielnym Biblioteka DLL zasobu i mają różne wersje językowe załadować odpowiednie zasoby.
Potencjalne niedogodności do korzystania z bibliotek DLL jest aplikacja nie jest samodzielne; To zależy od istnienia oddzielny moduł DLL.