Verschil tussen LIB en DLL Verschil tussen

Anonim

LIB vs DLL

Bij het ontwikkelen van software wordt ons vaak gevraagd of we LIB of DLL's willen gebruiken bij het bevatten van functies voor de toepassing. LIB is een statische bibliotheek waarin functies en procedures kunnen worden geplaatst en aangeroepen terwijl de toepassing wordt gecompileerd. Een DLL- of Dynamic Link-bibliotheek doet dezelfde functie, maar is dynamisch in die zin dat de toepassing deze bibliotheken kan oproepen tijdens runtime en niet tijdens de compilatie. Dit biedt enkele belangrijke voordelen in vergelijking met het gebruik van LIB.

Om te beginnen zou u een enkel bestand hebben dat beduidend groter is omdat het alle code bevat, terwijl u meerdere kleinere bestanden zou hebben wanneer u DLL gebruikt. Het compileren van uw functies en procedures zou u ook meer herbruikbaarheid bieden als u eenmaal tevreden bent met de functies van het DLL-bestand, omdat u het kunt houden zoals het is met elke versie van de toepassing en er niet mee hoeft te rotzooien. U kunt dezelfde DLL ook gebruiken als u een andere toepassing wilt maken die dezelfde functies en procedures gebruikt. U kunt rechtstreeks naar de DLL linken in plaats van de code van de bron te kopiëren, zoals u met LIB zou moeten doen.

Een probleem met DLL is wanneer u de inhoud van het DLL-bestand wijzigt. Dit kan leiden tot versieproblemen waarbij een toepassing de onjuiste versie van het DLL-bestand gebruikt en problemen veroorzaakt. U moet uw DLL's bijhouden om deze problemen te voorkomen. Je zou dit probleem met LIB niet hebben, omdat je maar één groot bestand zou krijgen.

Wanneer u de software ontwikkelt en DLL kiest, heeft u nog steeds een LIB-bestand in uw project. Maar anders dan bij het gebruik van LIB, bevat dit bestand niet de code van de functies en procedures, maar alleen de stubs die het programma nodig heeft om de procedures vanuit de DLL's aan te roepen.

Samenvatting:

1. Een DLL is een bibliotheek die functies bevat die door applicaties kunnen worden opgeroepen tijdens runtime, terwijl LIB een statische bibliotheek is waarvan de code moet worden aangeroepen tijdens de compilatie

2. Het gebruik van LIB zou resulteren in een enkel bestand dat aanzienlijk groter is terwijl je eindigt met meerdere kleinere bestanden met DLL's

3. DLL's zijn meer herbruikbaar dan LIB's bij het schrijven van nieuwe versies of volledig nieuwe toepassingen

4. DLL-bestanden kunnen door andere toepassingen worden gebruikt, terwijl LIB-bestanden niet

5 kunnen zijn. DLL's zijn gevoelig voor versieproblemen terwijl LIB niet

6 is. Â U zou nog steeds een LIB-bestand hebben bij het ontwikkelen van software met DLL's, maar het bevat alleen stubs