Różnica między LIB a DLL

LIB vs DLL

Podczas opracowywania oprogramowania często jesteśmy pytani, czy chcemy używać bibliotek LIB lub DLL w funkcjach zawierających aplikację. LIB to biblioteka statyczna, w której funkcje i procedury mogą być umieszczane i wywoływane podczas kompilacji aplikacji. Biblioteka DLL lub Dynamic Link Library pełni tę samą funkcję, ale jest dynamiczna w tym sensie, że aplikacja może wywoływać te biblioteki w czasie wykonywania, a nie podczas kompilacji. Ma to kilka istotnych zalet w porównaniu do korzystania z LIB.

Na początek masz jeden plik, który jest znacznie większy, ponieważ zawiera cały kod, podczas gdy będziesz mieć wiele mniejszych plików podczas korzystania z DLL. Kompilowanie funkcji i procedur pozwoliłoby również na większe możliwości ponownego użycia, gdy tylko będziesz zadowolony z funkcji biblioteki DLL, ponieważ możesz zachować ją tak, jak w przypadku każdej wersji aplikacji i nie musisz się z nią bawić. Możesz także użyć tej samej biblioteki DLL, jeśli chcesz utworzyć inną aplikację, która będzie korzystała z 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 biblioteką DLL polega na zmianie zawartości biblioteki DLL. Może to prowadzić do problemów z wersjonowaniem, gdy aplikacja używa niepoprawnej wersji biblioteki DLL, co powoduje problemy. Musisz śledzić swoje biblioteki DLL, aby uniknąć tych problemów. Nie miałbyś tego problemu z LIB, ponieważ dostaniesz tylko jeden duży plik.

Podczas opracowywania oprogramowania i wybierania DLL nadal będziesz mieć plik LIB w swoim projekcie. Ale w przeciwieństwie do korzystania z LIB, plik ten nie zawiera kodu funkcji i procedur, a jedynie kody pośredniczące, które program musi wywołać procedury z bibliotek DLL.

Streszczenie:
1. DLL jest biblioteką zawierającą funkcje, które mogą być wywoływane przez aplikacje w czasie wykonywania, podczas gdy LIB jest biblioteką statyczną, której kod należy wywołać podczas kompilacji
2. Użycie LIB spowoduje utworzenie jednego pliku, który jest znacznie większy, gdy skończy się wiele mniejszych plików z bibliotekami DLL
3. Biblioteki DLL są bardziej wielokrotnego użytku niż biblioteki 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. Podczas tworzenia oprogramowania z bibliotekami DLL nadal będziesz mieć plik LIB, ale zawiera on tylko kody pośredniczące