La bibliothèque de liens dynamiques (DLL) est traduite de l'anglais par "bibliothèque de liens dynamiques". Une DLL est un fichier exécutable qui remplit les fonctions d'une bibliothèque partagée. Grâce à sa liaison dynamique, DLL fournit un moyen d'appeler une fonction qui fait partie du code exécutable.
Le code de la fonction exécutable lui-même se trouve dans une DLL, qui contient plusieurs fonctions compilées, liées et stockées dans les processus utilisés. DLL sert à simplifier le processus de partage des sources et des données. Il permet aux applications installées sur le système d'accéder à plusieurs contenus d'une seule copie de la DLL chargée en mémoire en même temps.
Codage modulaire - l'ancêtre des DLL
Le début des travaux sur la création d'une DLL peut être considéré comme l'émergence d'une méthode de programmation telle que le codage modulaire. Autrefois, le codage modulaire facilitait grandement le travail des programmeurs, permettant de ne pas écrire plusieurs fois le même code pour chaque nouveau programme. Tous les programmes simples contiennent beaucoup de code similaire, qu'ils ont commencé à concevoir sous forme de modules, en les ajoutant à de nouvelles applications. Pendant un certain temps, le codage modulaire était la solution la plus simple et la plus efficace et n'avait qu'un seul inconvénient. Des modules identiques ajoutés aux programmes occupaient de l'espace disque, ce qui était rare à l'époque.
Le problème du gaspillage d'espace disque sur des modules identiques était le seul, alors qu'il n'y avait que des systèmes d'exploitation à tâche unique. Avec l'avènement des systèmes d'exploitation multitâches tels que Windows, un autre problème est survenu. Désormais, les programmes avec des modules avec le même code, lorsqu'ils sont lancés simultanément, ont commencé à le charger dans la RAM, "mangeant" toutes les ressources. Il convient de noter qu'à cette époque, un module de mémoire de 500 mégaoctets était le plus gros qui existait et qu'il était assez cher. Mais même la taille maximale de la RAM n'a pas épargné les utilisateurs, les programmes ont complètement chargé la RAM, rendant impossible le fonctionnement normal de l'ordinateur.
L'émergence des DLL
Une solution décente à ces problèmes a été trouvée, elle ressemblait à ceci: les modules avec le même code ont cessé de s'ancrer avec le programme principal, les enregistrant dans un fichier exécutable séparé, auquel n'importe quelle application pouvait accéder selon les besoins. C'est cette solution qui constitue la base des DLL qui se lient dynamiquement à n'importe quel programme. Désormais, il est possible de stocker du code exécutable dans ces bibliothèques sous forme de fonctions ou de procédures, de graphiques et même de vidéos, ce qui a permis d'économiser de l'espace disque et des ressources RAM.
Le seul inconvénient des bibliothèques de liens dynamiques est la perte de temps supplémentaire pour charger le programme. En plus de cet inconvénient mineur, la DLL ne comporte que des avantages. Par conséquent, ces bibliothèques sont largement utilisées et sont utilisées par les programmeurs dans presque toutes les applications.