Définition - Que signifie DLL Hell?
L'enfer DLL est un terme courant pour désigner divers problèmes associés à l'utilisation de bibliothèques de liens dynamiques (DLL) ou de fichiers DLL. Un fichier DLL est une ressource du système d'exploitation Windows qui contient du code et des données liés aux fonctionnalités d'une ou plusieurs applications. Ces fichiers, qui peuvent avoir l'extension de fichier .dll ou d'autres extensions de fichier, ont été un élément de base majeur pour le système d'exploitation Windows et les programmes Windows depuis les premières versions MS-DOS de la technologie informatique de Microsoft. Les versions successives de Windows ont illustré certains problèmes liés à l'utilisation de fichiers DLL pour de nombreux programmes différents.
Definir Tech explique DLL Hell
Bon nombre des problèmes qui amènent les développeurs à utiliser le terme «enfer DLL» impliquent des cas où une modification d'un fichier DLL par un programme affecte négativement la fonction d'autres programmes qui doivent utiliser le même fichier DLL. Les problèmes de registres, les incompatibilités et la mise à jour incorrecte des fichiers DLL font tous partie du défi général de commander l'utilisation des fichiers DLL dans de nombreuses applications différentes.
Dans les versions plus récentes de Windows, certains des problèmes qui contribuent à l'enfer des DLL ont été abordés et résolus dans une certaine mesure. Les modifications incluent un framework .NET, qui utilise des métadonnées pour décrire les composants du programme. Ce système facilite la gestion des versions et le déploiement pour atténuer certains des problèmes qui surviennent en raison de l'utilisation de DLL multilingues ou de situations dans lesquelles les applications doivent partager un fichier DLL. Un système de protection de fichiers Windows, introduit dans Windows 2000, empêche certains programmes de modifier les fichiers DLL du système. D'autres solutions impliquent de placer le fichier DLL d'une application dans un dossier distinct plutôt que de le stocker dans un emplacement partagé afin que chaque application puisse avoir sa propre version unique du fichier DLL.