Différence Entre DLL Et LIB

Différence Entre DLL Et LIB
Différence Entre DLL Et LIB

Vidéo: Différence Entre DLL Et LIB

Vidéo: Différence Entre DLL Et LIB
Vidéo: Tutoriel 0 - Comprendre les fichiers d'en-tête, les bibliothèques et les DLL 2024, Mars
Anonim

DLL contre LIB

Une bibliothèque est un ensemble de ressources qui peuvent être utilisées pour développer des applications. Une bibliothèque est généralement composée de sous-programmes, de fonctions, de classes, de valeurs et de types. Pendant le processus de liaison (généralement effectué par un éditeur de liens), les bibliothèques et les exécutables font référence les uns aux autres. Les fichiers de bibliothèque sont divisés en bibliothèques statiques et dynamiques en fonction du moment auquel les sous-programmes sont chargés dans l'application cible. En conséquence, les fichiers LIB sont des bibliothèques liées statiquement et les fichiers DLL sont des bibliothèques liées dynamiquement.

Qu'est-ce que DLL?

Dynamic Link Library (plus communément appelé DLL) est une implémentation de bibliothèque partagée développée par Microsoft. Il utilise les extensions.dll,.ocx ou.drv et ils sont utilisés dans les systèmes d'exploitation Microsoft Windows et OS / 2..dll est utilisé par les fichiers DLL normaux. Et l'extension.ocx est utilisée par les bibliothèques qui contiennent des contrôles ActiveX et l'extension.drv est utilisée par les fichiers de pilote système hérités. Le format de fichier DLL est le même que les fichiers EXE Windows (fichiers exécutables portables sur Windows 32 bits / 64 bits et nouvel exécutable sous Windows 16 bits). Par conséquent, toute combinaison de code, de données et de ressources peut être contenue dans des fichiers DLL (comme dans les fichiers EXE). En fait, les fichiers de données au format DLL sont appelés DLL de ressources. Les bibliothèques d'icônes (avec l'extension.icl) et les fichiers de polices (avec les extensions.fon et.fot) sont des exemples de DLL de ressources.

Les composants appelés sections constituent une DLL et chaque section a ses propres attributs tels que lecture seule / inscriptible et exécutable / non exécutable. Les sections de code sont exécutables, tandis que les sections de données ne sont pas exécutables. Les sections de code sont partagées et les sections de données sont privées. Cela signifie que tous les processus utilisant la DLL utiliseront la même copie du code, tandis que chaque processus aura sa propre copie des données. La bibliothèque dynamique principale pour Windows est kernel32.dll, qui contient les fonctions de base (fonctionnalités liées aux fichiers et à la mémoire) sous Windows. COM (Component Object Model) est l'extension de DLL à OOP (Object Oriented Programming). Les DLL conventionnelles sont plus faciles à utiliser que les fichiers COM.

Qu'est-ce que LIB?

Les fichiers LIB sont des bibliothèques statiques (également appelées bibliothèques liées statiquement). Les fichiers LIB contiennent une collection de sous-programmes, de fonctions externes et de variables. Les fichiers LIB sont résolus au moment de la compilation (par opposition à l'exécution). Le code est en fait copié dans l'application cible. Un compilateur, un éditeur de liens ou un classeur fera cette résolution et produira un fichier objet et un fichier exécutable. Ce processus est appelé processus de construction statique.

Quelle est la différence entre DLL et LIB?

Les bibliothèques LIB peuvent être appelées lors de la compilation, mais les bibliothèques DLL ne peuvent être appelées que pendant l'exécution. Les fichiers LIB sont beaucoup plus volumineux que les fichiers DLL. Un problème très courant avec les fichiers DLL est le problème de version. Cela se produit lorsque le code de la DLL est modifié et que l'application utilise une version incorrecte d'une DLL. Ce n'est pas un problème associé aux fichiers LIB. En termes de réutilisabilité, lors de l'écriture de nouvelles versions de systèmes ou d'applications complètement nouvelles, les DLL sont toujours meilleures que les LIB.

Recommandé: