Différence entre LIB et DLL

LIB vs DLL

Lors du développement de logiciels, on nous demande souvent si nous voulons utiliser des librairies LIB ou des DLL pour contenir des fonctions pour l'application. LIB est une bibliothèque statique dans laquelle des fonctions et des procédures peuvent être placées et appelées lors de la compilation de l'application. Une DLL ou une bibliothèque de liens dynamiques remplit la même fonction, mais elle est dynamique en ce sens que l'application peut appeler ces bibliothèques pendant l'exécution et non pendant la compilation. Ceci présente quelques avantages significatifs par rapport à l’utilisation de LIB.

Pour commencer, vous auriez un seul fichier considérablement plus volumineux puisqu'il contiendrait tout le code et que vous auriez plusieurs fichiers plus petits lors de l'utilisation de DLL. Compiler vos fonctions et procédures vous permettrait également plus de réutilisabilité, car une fois que vous êtes satisfait des fonctions de la DLL, vous pouvez le conserver tel quel avec chaque version de l'application sans avoir à vous soucier de rien. Vous pouvez également utiliser la même DLL si vous souhaitez créer une autre application utilisant les mêmes fonctions et procédures. Vous pouvez directement créer un lien vers la DLL plutôt que de copier le code de la source, comme vous le feriez avec LIB..

Un problème avec DLL est lorsque vous modifiez le contenu de la DLL. Cela peut entraîner des problèmes de version dans lesquels une application utilise la version incorrecte de la DLL à l'origine des problèmes. Vous devez garder une trace de vos DLL afin d'éviter ces problèmes. Vous n’auriez pas ce problème avec LIB car vous n’auriez qu’un seul fichier volumineux..

Lors du développement du logiciel et de la sélection de DLL, vous avez toujours un fichier LIB dans votre projet. Mais contrairement à l'utilisation de LIB, ce fichier ne contient pas le code des fonctions et procédures, mais uniquement les fichiers de remplacement dont le programme a besoin pour appeler les procédures à partir de la DLL..

Résumé:
1. Une DLL est une bibliothèque contenant des fonctions pouvant être appelées par les applications au moment de l'exécution, tandis que LIB est une bibliothèque statique dont le code doit être appelé lors de la compilation.
2. L’utilisation de la LIB produirait un seul fichier considérablement plus volumineux, tandis que vous vous retrouveriez avec plusieurs fichiers plus petits avec des DLL.
3. Les DLL sont plus réutilisables que les BIL lors de l'écriture de nouvelles versions ou d'applications totalement nouvelles
4. Les fichiers DLL peuvent être utilisés par d’autres applications alors que les fichiers LIB ne le peuvent pas.
5. Les DLL sont sujettes aux problèmes de version alors que LIB n’est pas
6. Vous auriez toujours un fichier LIB lorsque vous développez un logiciel avec des DLL, mais il ne contient que des talons.