Dynamic linkerIn computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at "run time"), by copying the content of libraries from persistent storage to RAM, filling jump tables and relocating pointers. The specific operating system and executable format determine how the dynamic linker functions and how it is implemented.
Dependency hellDependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. The dependency issue arises when several packages have dependencies on the same shared packages or libraries, but they depend on different and incompatible versions of the shared packages. If the shared package or library can only be installed in a single version, the user may need to address the problem by obtaining newer or older versions of the dependent packages.
Dynamic Link LibraryUne Dynamic Link Library (en français, bibliothèque de liens dynamiques) est une bibliothèque logicielle dont les fonctions sont chargées en mémoire par un programme, au besoin, lors de son exécution, par opposition aux bibliothèques logicielles statiques ou partagées dont les fonctions sont chargées en mémoire avant le début de l'exécution du programme. dll est une extension de nom de fichier utilisée par des fichiers contenant une Dynamic Link Library. Ces bibliothèques logicielles ont été inventées dans Multics en 1964 et existent dans Windows depuis 1985.
Chargeur (informatique)En informatique, le chargeur est un composant du système d'exploitation dont le rôle est de charger des programmes en mémoire, afin de créer un processus. Ses principales responsabilités sont la lecture et l'analyse du fichier exécutable, la création des ressources nécessaires à l'exécution de celui-ci, puis enfin le lancement effectif de son exécution. Le chargeur est généralement invoqué à l'aide d'un appel système ; cependant, dans des systèmes comme Linux, des fonctionnalités comme les bibliothèques dynamiques sont gérées elles-mêmes par un programme auquel le chargeur délègue une partie de son travail.
Relocation (computing)Relocation is the process of assigning load addresses for position-dependent code and data of a program and adjusting the code and data to reflect the assigned addresses. Prior to the advent of multiprocess systems, and still in many embedded systems, the addresses for objects were absolute starting at a known location, often zero. Since multiprocessing systems dynamically link and switch between programs it became necessary to be able to relocate objects using position-independent code.
Fichier objetEn informatique (développement), un fichier objet est un fichier intermédiaire intervenant dans le processus de compilation. Un fichier assembleur est assemblé en un fichier objet lors du processus d'assemblage : Un fichier objet n'est autre que le produit obtenu à la sortie de ce processus. Un fichier objet est lié à d'autres fichiers lors du processus d'édition des liens pour obtenir un exécutable. Le fichier objet est donc la matière première nécessaire à l'édition des liens.
DLL HellIn computing, DLL Hell is a term for the complications that arise when one works with dynamic-link libraries (DLLs) used with Microsoft Windows operating systems, particularly legacy 16-bit editions, which all run in a single memory space. DLL Hell can manifest itself in many different ways wherein applications neither launch nor work correctly. DLL Hell is the Windows ecosystem-specific form of the general concept dependency hell. DLLs are Microsoft's implementation of shared libraries.
Dynamic loadingDynamic loading is a mechanism by which a computer program can, at run time, load a library (or other ) into memory, retrieve the addresses of functions and variables contained in the library, execute those functions or access those variables, and unload the library from memory. It is one of the 3 mechanisms by which a computer program can use some other software; the other two are static linking and dynamic linking.
Exécution (phase de cycle de vie d'un programme informatique)En informatique , lexécution (runtime ou run time), ou le temps d'exécution est la phase finale du cycle de vie d'un programme informatique, dans lequel le code est exécuté par l'unité centrale de traitement (CPU) de l'ordinateur comme code machine. En d'autres termes, le runtime est la phase d'exécution d'un programme. Une erreur d'exécution est détectée pendant ou après l'exécution (état de marche) d'un programme, alors que les erreurs de compilation sont toujours détectées par le compilateur avant l'exécution du programme.
Linker (computing)In computing, a linker or link editor is a computer system program that takes one or more s (generated by a compiler or an assembler) and combines them into a single executable file, library file, or another "object" file. A simpler version that writes its output directly to memory is called the loader, though loading is typically considered a separate process. Computer programs typically are composed of several parts or modules; these parts/modules do not need to be contained within a single , and in such cases refer to each other by means of symbols as addresses into other modules, which are mapped into memory addresses when linked for execution.