Différence entre Lib et DLL

Différence entre Lib et DLL

Lib vs dll

Lors du développement de logiciels, on nous demande souvent si nous voulons utiliser la lib ou les DLL dans des fonctions contenant pour l'application. LIB est une bibliothèque statique où les fonctions et les procédures peuvent être placées et appelées à mesure que l'application est compilée. Une bibliothèque DLL ou liaison dynamique fait la même fonction mais est dynamique dans un sens que 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 la lib.

Pour commencer, vous auriez un seul fichier qui est nettement plus grand car il contient tout le code alors que vous auriez plusieurs fichiers plus petits lorsque vous utilisez DLL. La compilation de vos fonctions et procédures vous permettrait également plus de réutilisabilité comme une fois que vous êtes satisfait des fonctions sur la DLL, car vous pouvez le conserver tel quel avec chaque version de l'application et ne pas avoir à jouer avec. 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 à partir de la source comme vous le feriez avec Lib.

Un problème avec la DLL est lorsque vous modifiez le contenu de la DLL. Cela peut entraîner des problèmes de versioning lorsqu'une application utilise la version incorrecte de la DLL provoquant 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 seul fichier.

Lorsque vous développez le logiciel et choisissez 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 seulement des talons que le programme doit appeler les procédures des DLL.

Résumé:
1. Une DLL est une bibliothèque qui contient des fonctions qui peuvent ê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é pendant la compilation
2. L'utilisation de LIB se traduirait par un seul fichier considérable pendant que vous vous retrouvez avec plusieurs fichiers plus petits avec des DLL
3. Les DLL sont plus réutilisables que les LIB lors de la rédaction de nouvelles versions ou des applications totalement nouvelles
4. Les fichiers DLL peuvent être utilisés par d'autres applications tandis que les fichiers lib ne peuvent pas
5. Les DLL sont sujettes aux problèmes de versioning tandis que Lib n'est pas
6. Vous auriez toujours un fichier lib lors du développement d'un logiciel avec des DLL, mais il ne contient que des talons