Grace HopperGrace Murray Hopper est une informaticienne américaine et Rear admiral (lower half) de la marine américaine, née le à New York et morte le dans le comté d'Arlington. Elle est la conceptrice du premier compilateur en 1951 (A-0 System) et du langage Cobol en 1959. Grace Brewster Murray est née le à New York. Elle étudie les mathématiques, la physique et l'économie au Vassar College, et en sort diplômée en 1928. En 1934, elle obtient un doctorat en mathématiques de l'université Yale.
Common Language Runtime(CLR) est le nom choisi par Microsoft pour le composant de machine virtuelle du framework .NET. Il s'agit de l'implémentation par Microsoft du standard Common Language Infrastructure (CLI) qui définit l'environnement d'exécution des codes de programmes. Le CLR fait tourner une sorte de bytecode nommé Common Intermediate Language (CIL). Le compilateur à la volée transforme le code CIL en code natif spécifique au système d'exploitation. Le CLR fonctionne sur des systèmes d'exploitation Microsoft Windows.
Return-oriented programmingLa ROP, return-oriented programming, est une technique d'exploitation avancée de type dépassement de pile (stack overflow) permettant l'exécution de code par un attaquant et ce en s'affranchissant plus ou moins efficacement des mécanismes de protection tels que l'utilisation de zones mémoires non-exécutables ( bit NX pour Data Execution Prevention, DEP), l'utilisation d'un espace d'adressage aléatoire (Address Space Layout Randomization, ASLR) ou encore la signature de code.
Volume boot recordA volume boot record (VBR) (also known as a volume boot sector, a partition boot record or a partition boot sector) is a type of boot sector introduced by the IBM Personal Computer. It may be found on a partitioned data storage device, such as a hard disk, or an unpartitioned device, such as a floppy disk, and contains machine code for bootstrapping programs (usually, but not necessarily, operating systems) stored in other parts of the device. On non-partitioned storage devices, it is the first sector of the device.
Chain loadingChain loading is a method used by computer programs to replace the currently executing program with a new program, using a common data area to pass information from the current program to the new program. It occurs in several areas of computing. Chain loading is similar to the use of overlays. Unlike overlays, however, chain loading replaces the currently executing program in its entirety. Overlays usually replace only a portion of the running program. Like the use of overlays, the use of chain loading increases the I/O load of an application.
Code objetEn informatique, le code objet est le produit d'un compilateur. Plus généralement, le code de l'objet est une suite d'instructions dans un langage informatique, généralement en langage machine (c'est-à-dire en binaire) ou d'un langage intermédiaire tels que le Register Transfer Language (RTL). Le terme indique que le code est le but de la compilation, avec l'apparition des premières sources se référant au code source comme un "programme sujet". Les fichiers objets peuvent être liés pour former un fichier exécutable ou un fichier de bibliothèque.
Instruction non documentéeUne instruction non documentée (en anglais, undocumented instruction ou illegal opcode) est une instruction-machine destinée à une unité centrale qui n'est pas mentionnée dans une documentation officielle publiée par le concepteur ou le fabricant de l'unité centrale, mais qui a néanmoins un effet. Les instructions non documentées étaient courantes sur les anciens processeurs conçus dans les années 1970, tels que le MOS Technology 6502, l'Intel 8086 et le Zilog Z80.
Translator (computing)A translator or programming language processor is a generic term that can refer to a compiler, assembler, or interpreter—anything that converts code from one computer language into another. These include translations between high-level and human-readable computer languages such as C++ and Java, intermediate-level languages such as Java bytecode, low-level languages such as the assembly language and machine code, and between similar levels of language on different computing platforms, as well as from any of these to any other of these.
Fichier binairevignette|Contenu du fichier binaire de la favicon de Wikipedia En informatique, un fichier binaire est un fichier qui n'est pas un fichier texte. De nombreux formats de fichiers binaires stockent une partie de leurs données sous forme de texte (une suite de caractères), le reste servant à interpréter, formater ou afficher ce texte. Par extension de langage, on appelle « binaire » tout fichier qui n'est pas interprétable sous forme de texte : une image, un son ou encore un autre fichier compressé.
Constant foldingConstant folding and constant propagation are related compiler optimizations used by many modern compilers. An advanced form of constant propagation known as sparse conditional constant propagation can more accurately propagate constants and simultaneously remove dead code. Constant folding is the process of recognizing and evaluating constant expressions at compile time rather than computing them at runtime. Terms in constant expressions are typically simple literals, such as the integer literal 2, but they may also be variables whose values are known at compile time.