Différence entre LIB et DLL Différence entre

Anonim

LIB vs DLL

Lors du développement de logiciels, on nous demande souvent si nous voulons utiliser LIB ou DLL pour contenir des fonctions pour l'application. LIB est une bibliothèque statique dans laquelle les fonctions et les procédures peuvent être placées et appelées lors de la compilation de l'application. Une DLL ou Dynamic Link Library a la même fonction mais est dynamique dans le sens où l'application peut appeler ces bibliothèques pendant l'exécution et non pendant la compilation. Cela présente quelques avantages significatifs par rapport à l'utilisation de LIB.

Pour les débutants, vous auriez un seul fichier qui est significativement plus grand car il contient tout le code alors que vous auriez plusieurs fichiers plus petits lors de l'utilisation de DLL. La compilation de vos fonctions et procédures vous permettrait également de mieux réutiliser une fois que vous êtes satisfait des fonctions de la DLL, car vous pouvez la conserver telle quelle à chaque version de l'application sans avoir à la manipuler. Vous pouvez également utiliser la même DLL si vous souhaitez créer une autre application qui utilise les mêmes fonctions et procédures. Vous pouvez directement lier à 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 versionnement lorsqu'une application utilise la version incorrecte de la DLL causant 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'obtiendrez qu'un gros fichier.

Lors du développement du logiciel et du choix de DLL, vous auriez toujours un fichier LIB dans votre projet. Mais contrairement à l'utilisation de LIB, ce fichier ne contient pas le code des fonctions et des procédures, mais uniquement les stubs que le programme doit appeler les procédures à partir des DLL.

Résumé:

1. Une DLL est une bibliothèque qui contient des fonctions pouvant être appelées par des applications lors 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 LIB résulterait dans un fichier unique qui est considérablement plus grand alors que vous vous retrouvez avec plusieurs fichiers plus petits avec des DLL

3. Les DLL sont plus réutilisables que les LIB lors de l'écriture de nouvelles versions ou de toutes nouvelles applications

4. Les fichiers DLL peuvent être utilisés par d'autres applications alors que les fichiers LIB ne peuvent pas

5. Les DLL sont sujettes à des problèmes de version alors que LIB n'est pas

6. Â Vous auriez toujours un fichier LIB lors du développement de logiciels avec des DLL, mais il contient uniquement des stubs