LIB i DLL

Anonim

LIB vs DLL

Podczas tworzenia oprogramowania często jesteśmy pytani, czy chcemy używać bibliotek LIB czy bibliotek DLL zawierających funkcje aplikacji. Biblioteka LIB jest biblioteką statyczną, w której funkcje i procedury można umieszczać i wywoływać podczas kompilacji aplikacji. Biblioteka DLL lub Dynamic Link Library ma tę samą funkcję, ale jest dynamiczna w takim sensie, że aplikacja może wywoływać te biblioteki podczas wykonywania, a nie podczas kompilacji. Jest to kilka znaczących zalet w porównaniu z używaniem LIB.

Na początek miałbyś jeden plik, który jest znacznie większy, ponieważ zawiera cały kod, podczas gdy będziesz miał wiele mniejszych plików podczas korzystania z DLL. Kompilacja funkcji i procedur umożliwiłaby również większą możliwość ponownego użycia, gdy już będziesz zadowolony z funkcji biblioteki DLL, ponieważ możesz zachować ją tak, jak jest w przypadku każdej wersji aplikacji i nie musisz z nią mieszać. Możesz także użyć tej samej biblioteki DLL, jeśli chcesz utworzyć inną aplikację, która używa tych samych funkcji i procedur. Możesz bezpośrednio połączyć się z biblioteką DLL, zamiast kopiować kod ze źródła, tak jak w przypadku LIB.

Problem z DLL jest po zmianie zawartości DLL. Może to prowadzić do problemów z wersjami, w których aplikacja używa niepoprawnej wersji biblioteki DLL powodującej problemy. Musisz śledzić swoje biblioteki DLL, aby uniknąć tych problemów. Nie miałbyś tego problemu z LIB, ponieważ dostałeś tylko jeden duży plik.

Podczas tworzenia oprogramowania i wybierania biblioteki DLL nadal masz w swoim projekcie plik LIB. Ale w przeciwieństwie do użycia LIB, ten plik nie zawiera kodu funkcji i procedur, ale tylko kody pośredniczące, które program musi wywoływać procedury z bibliotek DLL.

Streszczenie: 1. DLL to biblioteka, która zawiera funkcje, które mogą być wywoływane przez aplikacje w czasie wykonywania, podczas gdy LIB jest biblioteką statyczną, której kod musi zostać wywołany podczas kompilacji 2. Użycie LIB spowodowałoby jeden plik, który jest znacznie większy, a kończy się na wielu mniejszych plikach z bibliotekami DLL 3. DLLs są bardziej wielokrotnego użytku niż LIB podczas pisania nowych wersji lub całkowicie nowych aplikacji 4. Pliki DLL mogą być używane przez inne aplikacje, podczas gdy pliki LIB nie 5. DLL są podatne na problemy z wersjonowaniem, podczas gdy LIB nie 6. Będziesz nadal miał plik LIB podczas tworzenia oprogramowania z bibliotekami DLL, ale zawiera tylko kody pośredniczące