La plupart du temps, nous ne rencontrons des fichiers DLL que lorsqu’un logiciel donné ne peut pas fonctionner en raison du manque de fichiers .dll. Après cette invite, nous allons en ligne pour obtenir ce fichier DLL, le mettons dans le dossier approprié et exécutons le logiciel. Et c’est tout – affaire close à propos des fichiers DLL.
Cependant, il devrait être intéressant d’en savoir plus sur ces fichiers particuliers. Ils semblent importants, car leur absence peut empêcher les logiciels de fonctionner, alors quels sont-ils, au fait ? Et comment fonctionnent-ils ? Obtenons quelques réponses.
Contenu
Fichiers DLL ?
Presque tout le monde a, à un moment donné, traité des fichiers DLL, souvent lorsqu’un logiciel nouvellement installé ne fonctionne pas car l’un de ces fichiers est manquant.
DLL signifie « Dynamic-Link Library », et est l’implémentation par Microsoft du concept de bibliothèque partagée dans les systèmes d’exploitation Microsoft Windows et OS/2. Ils sont essentiellement les mêmes que les fichiers EXE, mais sont nommés différemment pour plus de clarté dans le processus de liaison. Les fichiers DLL ne peuvent cependant pas être exécutés directement, d’où l’existence d’outils comme rundll.exe et rundll32.exe.
Les fichiers DLL ne sont rien de plus qu’un moyen pour les développeurs d’utiliser du code et des données partagés, permettant de mettre à niveau les fonctionnalités sans avoir besoin de re-lier ou de recompiler les applications. En d’autres termes, les fichiers DLL contiennent du code et des données qui sont utilisés par plusieurs applications différentes. Un seul fichier DLL peut être utilisé par différentes applications, si elles en ont besoin, éliminant ainsi le besoin de plusieurs copies des mêmes informations.
Comment fonctionnent les fichiers DLL ?
Imaginez deux fichiers distincts : « example.exe », un fichier exécutable commun et « library.dll », une DLL utilisée par cet exécutable. Comment ces fichiers sont-ils connectés par le système d’exploitation lorsque « example.exe » s’exécute ?
Lorsque « example.exe » s’exécute, le système d’exploitation le charge et y trouve une table de données, indiquant que (évidemment pas en mots) « ce programme utilise la liste suivante de fonctions du fichier DLL library.dll », qui est techniquement appelé « imports » ou « fonctions importées » à partir de la DLL « library.dll » dans le programme « example.exe ».
Ensuite, le code du chargeur recherche « library.dll » et, s’il le trouve, le fichier est chargé. À l’intérieur de ce fichier DLL, il existe une autre liste, appelée « liste d’exportation », qui connecte des adresses spécifiques à chacune des fonctions du fichier DLL. À partir de ce moment, lorsque « example.exe » doit appeler une fonction à partir de « library.dll », il utilise simplement cette adresse.
Comment obtenir et stocker des fichiers DLL
Lorsqu’un logiciel donné n’a pas de fichier DLL, l’approche habituelle consiste à rechercher ce fichier en ligne et à le stocker sur notre disque dur. Cela fonctionnera si vous placez la DLL dans le dossier du logiciel, mais comme je l’ai expliqué ci-dessus, plusieurs logiciels peuvent avoir besoin de ce fichier, il est donc préférable de le stocker là où ils peuvent tous l’atteindre – et c’est le dossier « System32 » (C :WindowsSystem32). Les utilisateurs x64 doivent également copier le fichier DLL dans « C:WindowsSysWOW64 » (ces deux opérations nécessitent des privilèges d’administrateur pour être effectuées).
Cependant, cette méthode n’est pas recommandée par tout le monde, car elle peut entraîner des risques tels que des DLL obsolètes, des infections virales, etc. D’après mon expérience personnelle, je n’ai jamais eu de problèmes avec les fichiers DLL (je les récupère généralement sur ce site, mais assurez-vous de choisir l’option « Télécharger le fichier zip » pour éviter les logiciels tiers), donc au final tout se résume à goût personnel.
Connaissez-vous ces informations sur les fichiers DLL ? Il manque quelque chose d’important à cet article ? Faites le nous savoir dans les commentaires.
Cet article est-il utile ? Oui Non