Разлика между LIB и DLL

LIB срещу DLL

Когато разработваме софтуер, често ни питат дали искаме да използваме LIB или DLL в съдържащи функции за приложението. LIB е статична библиотека, в която функциите и процедурите могат да се поставят и извикват при съставяне на приложението. DLL или Dynamic Link Library изпълнява същата функция, но е динамична в смисъл, че приложението може да извиква тези библиотеки по време на изпълнение, а не по време на компилация. Това представя няколко значителни предимства в сравнение с използването на LIB.

За начало бихте имали един файл, който е значително по-голям, тъй като съдържа целия код, докато бихте имали множество по-малки файлове, когато използвате DLL. Компилирането на вашите функции и процедури също би ви позволило повече използване, тъй като веднъж сте доволни от функциите на DLL, защото можете да го поддържате както е във всяка версия на приложението и да не се налага да се забърквате с него. Можете също да използвате същата DLL, ако искате да създадете друго приложение, което използва същите функции и процедури. Можете директно да се свържете към DLL, вместо да копирате кода от източника, както би трябвало да направите с LIB.

Проблем с DLL е, когато промените съдържанието на DLL. Това може да доведе до проблеми с версията, когато приложението използва неправилната версия на DLL, причиняваща проблеми. Трябва да следите вашите DLL файлове, за да избегнете тези проблеми. Нямаше да имате този проблем с LIB, тъй като ще получите само един голям файл.

Когато разработвате софтуера и избирате DLL, вие все още ще имате LIB файл във вашия проект. Но за разлика от използването на LIB, този файл не съдържа кода на функциите и процедурите, а само мъничета, които програмата трябва да извика процедурите от DLL's.

Резюме:
1. DLL е библиотека, която съдържа функции, които могат да бъдат извиквани от приложения по време на изпълнение, докато LIB е статична библиотека, чийто код трябва да бъде извикан по време на компилацията
2. Използването на LIB би довело до един файл, който е значително по-голям, докато в крайна сметка имате няколко по-малки файла с DLL файлове
3. DLL файловете са многократни за многократна употреба от LIB, когато пишат нови версии или напълно нови приложения
4. DLL файловете могат да се използват от други приложения, докато LIB файловете не могат
5. DLL файловете са склонни към проблеми с версия, докато LIB не е
6. Все още ще имате LIB файл при разработване на софтуер с DLL файлове, но той съдържа само мъничета