Component Object ModelComponent Object Model (abr. COM) est une technique de composants logiciels développée par Microsoft et DEC, depuis 1994, populaire sur Windows et également disponible sur les systèmes d'exploitation OpenVMS, Tru64 ainsi que d'autres Unix. Utilisée pour mettre en œuvre OLE et ActiveX, COM est dépassé depuis 2009 par le Framework .NET de Microsoft. Les technologies COM regroupent OLE, COM+, Distributed COM et ActiveX.
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.
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.
Portable ExecutableLe format PE (Portable Executable, exécutable portable) est un format de fichiers dérivé du regroupant les exécutables et les bibliothèques sur les systèmes d'exploitation Windows 32 bits et 64 bits. Les extensions couvertes par ce format sont, l'extension .ocx (OLE et ActiveX), l'extension .dll et l'extension .cpl. C'est également le format utilisé pour les exécutables de l'UEFI (.efi). Microsoft a adopté le format PE avec l'introduction de Windows NT 3.1. Toutes les versions suivantes de Windows, incluant Windows 10/11, supportent ce format.
Static libraryIn computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an and a stand-alone executable. This executable and the process of compiling it are both known as a static build of the program. Historically, libraries could only be static.
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 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.
Position-independent codeIn computing, position-independent code (PIC) or position-independent executable (PIE) is a body of machine code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used for shared libraries, so that the same library code can be loaded at a location in each program's address space where it does not overlap with other memory in use by, for example, other shared libraries.
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.
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.
Décoration de nomEn construction de compilateur, la signature (aussi appelée décoration de nom) est une technique utilisée pour résoudre divers problèmes de résolution de noms uniques des entités informatiques avec plusieurs langages de programmation modernes. Cette technique fournit un moyen d'encoder des informations supplémentaires dans le nom d'une structure, d'une classe ou d'un autre type de donnée afin que les compilateurs puissent communiquer davantage d'informations sémantiques aux lieurs.
Microsoft Windows library filesThe Microsoft Windows operating system supports a form of shared libraries known as "dynamic-link libraries", which are code libraries that can be used by multiple processes while only one copy is loaded into memory. This article provides an overview of the core libraries that are included with every modern Windows installation, on top of which most Windows applications are built. HAL.DLL is a kernel-mode library file and it cannot be used by any user-mode program. NTDLL.
Bibliothèque logicielleEn informatique, une bibliothèque logicielle est une collection de routines, qui peuvent être déjà compilées et prêtes à être utilisées par des programmes. Les bibliothèques sont enregistrées dans des fichiers semblables, voire identiques aux fichiers de programmes, sous la forme d'une collection de fichiers de code objet rassemblés accompagnée d'un index permettant de retrouver facilement chaque routine. Le mot « librairie » est souvent utilisé à tort pour désigner une bibliothèque logicielle.
Windows InstallerWindows Installer (en français, installateur Windows) est un moteur d'installation, de mise à jour et de désinstallation de logiciel propre aux systèmes d'exploitation de Microsoft. La dernière version contient des changements significatifs par rapport à son prédécesseur Setup API comme l'apparition d'un GUI framework, une désinstallation automatique du logiciel et la possibilité d'ajouter grâce à COM des objets dans le fichier (système de fichiers à l'intérieur d'un fichier) grâce à une compatibilité avec Structured storage.
Windows APIWin16, Win32 et Win32s sont des ensembles normalisés de fonctions qui permettent aux logiciels applicatifs de se servir des fonctionnalités des différents systèmes d'exploitation de la famille Windows. Win32 est l'ensemble de fonctions le plus souvent utilisé, et les programmes dits pour Windows sont généralement des programmes utilisant Win32. Win32, successeur de Win16, a été introduit en 1993, dans les produits 32 bits de la famille Windows comme Windows NT, Windows 2000, Windows 95 ou leurs successeurs.
Address space layout randomizationL’address space layout randomization (ASLR) (« distribution aléatoire de l'espace d'adressage ») est une technique permettant de placer de façon aléatoire les zones de données dans la mémoire virtuelle. Il s’agit en général de la position du tas, de la pile et des bibliothèques. Ce procédé permet de limiter les effets des attaques de type dépassement de tampon par exemple. Elle consiste à rendre la configuration des processus « aléatoire », en plaçant différents éléments de base à des endroits variables.
Variable d'environnementEn informatique, les variables d’environnement sont des variables dynamiques utilisées par les différents processus d’un système d’exploitation (Windows, Unix...). Elles servent à communiquer des informations entre les programmes qui ne se trouvent pas sur la même ligne hiérarchique, et qui ont donc besoin d'une convention pour se communiquer mutuellement leurs choix. On parle aussi de variables d'environnement CGI pour un serveur HTTP. La commande SET sans aucun paramètre permet de lister la plupart des variables d’environnement.
.NET FrameworkLe .NET Framework (abr. NetFx) est un cadriciel (framework) pouvant être utilisé par un système d'exploitation Microsoft Windows et Microsoft Windows Mobile depuis la version 5 (.NET Compact Framework). Une version légère et limitée fournie avec un moteur d'exécution fonctionnant à l'intérieur d'un navigateur ou d'un périphérique mobile est disponible sous le nom de Silverlight. La version 3.0 du framework est intégrée à Windows Vista et à la plupart des versions de Windows Server 2008 ou téléchargeable depuis le site de l'éditeur Microsoft.
Base de registreLa base de registre (BDR) est une base de données utilisée par le système d'exploitation Windows. Elle contient les données de configuration du système d'exploitation et des autres logiciels installés désirant s'en servir. Depuis 1998, Microsoft utilise plutôt le terme Registre Windows pour parler de cette base de données. Le plus souvent, les utilisateurs modifient la base de registre de façon transparente, via une interface graphique.
ActiveXvignette|Logo officiel de la technologie ActiveX. ActiveX désigne l'une des technologies dépréciées du Component Object Model de Microsoft avec COM+ et Distributed COM utilisées en programmation pour permettre le dialogue entre programmes. Les ActiveX se déclinent sous forme de contrôles, de documents et de scripts. Un contrôle ActiveX est un fichier portant l'extension « .ocx ».