Indicateurs d'en-tête PE (Portable Executable) (Delphi)
Remonter à Liste des directives de compilation Delphi - Index
Type |
Indicateur |
Syntaxe |
{$SetPEFlags <expression entière>} {$SetPEOptFlags <expression entière>} |
Portée |
Locale |
Microsoft s'appuie sur les indicateurs d'en-tête PE (Portable Executable) pour permettre à une application d'indiquer sa compatibilité avec les services SE ou de demander des services SE avancés. Ces directives offrent de puissantes options pour le réglage de vos applications sur les systèmes NT haut de gamme.
Avertissement : La définition ou le masquage des valeurs de bits spécifiées par ces directives n'est pas une erreur. Si vous définissez la mauvaise combinaison de bits, vous pouvez endommager votre fichier exécutable.
Ces directives vous permettent de définir des bits d'indicateurs respectivement dans la zone de caractéristiques de l'en-tête de fichier PE ainsi que dans la zone optionnelle de caractéristiques DLL. La majorité des indicateurs de caractéristiques, définis en utilisant $SetPEFlags, sont spécifiques aux fichiers objet et bibliothèques. Les indicateurs de caractéristiques DLL, définis en utilisant $SetPEOptFlags, sont des indicateurs qui décrivent à quel moment appeler le point d'entrée d'une DLL.
L' <expression entière> de ces directives peut inclure des identificateurs de constantes Delphi, comme les constantes IMAGE_FILE_xxxx définies dans Windows.pas. Les constantes multiples doivent être combinées avec l'opérateur OR.
Le tableau suivant liste certains indicateurs d'en-tête que vous pouvez définir, avec SetPEFlags ou SetPEOptFlags.
Nom | Description |
---|---|
IMAGE_FILE_RELOCS_STRIPPED |
Les informations de relogement sont retirées du fichier. |
IMAGE_FILE_EXECUTABLE_IMAGE |
Le fichier est exécutable (c'est-à-dire sans références externes non résolues). |
IMAGE_FILE_LINE_NUMS_STRIPPED |
Les numéros de lignes sont retirés du fichier. |
IMAGE_FILE_LOCAL_SYMS_STRIPPED |
Les symboles locaux sont retirés du fichier. |
IMAGE_FILE_AGGRESIVE_WS_TRIM |
Troncature agressive de la plage de travail. |
IMAGE_FILE_LARGE_ADDRESS_AWARE |
L'application peut gérer des adresses supérieures à 2 Go. |
IMAGE_FILE_BYTES_REVERSED_LO |
Les octets du mot machine sont inversés. |
IMAGE_FILE_32BIT_MACHINE |
Machine à mots de 32 bits. |
IMAGE_FILE_DEBUG_STRIPPED |
Les informations de débogage sont retirées du fichier .DBG. |
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP |
Si l'image réside sur un support amovible, copier et exécuter depuis le fichier d'échange. |
IMAGE_FILE_NET_RUN_FROM_SWAP |
Si l'image réside sur le Net, copier et exécuter depuis le fichier d'échange. |
IMAGE_FILE_SYSTEM |
Fichier système. |
IMAGE_FILE_DLL |
Le fichier est une DLL. |
IMAGE_FILE_UP_SYSTEM_ONLY |
Le fichier doit seulement être exécuté sur une machine UP. |
IMAGE_FILE_BYTES_REVERSED_HI |
Les octets du mot machine sont inversés. |
IMAGE_FILE_MACHINE_UNKNOWN |
Machine inconnue. |
IMAGE_FILE_MACHINE_I386 |
Intel 386. |
IMAGE_FILE_MACHINE_R3000 |
MIPS Little-Endian, 0x160 big-endian. |
IMAGE_FILE_MACHINE_R4000 |
MIPS Little-Endian. |
IMAGE_FILE_MACHINE_R10000 |
MIPS Little-Endian. |
IMAGE_FILE_MACHINE_ALPHA |
Alpha_AXP. |
IMAGE_FILE_MACHINE_POWERPC |
IBM PowerPC Little-Endian. |
Vous pouvez inclure ces directives plusieurs fois dans le code source. Les valeurs des indicateurs spécifiées par plusieurs directives sont strictement cumulatives : si la première occurrence de la directive définit $03 et la seconde occurrence $10, la valeur écrite dans le fichier exécutable au moment de la liaison sera $13 (plus tous les bits normalement définis par le lieur dans les champs indicateur PE).
Ces directives affectent le fichier de destination uniquement si elles sont incluses dans le code source avant la liaison. Cela signifie que vous devez placer ces directives dans un fichier .dpr ou .dpk, et non dans une unité ordinaire. Comme la directive de description exe, le placement de ces directives dans le code source de l'unité n'est pas une erreur. Toutefois, ces directives placées dans le source de l'unité n'affecteront pas le fichier de sortie (exe ou dll) à moins que le source de l'unité ne soit recompilé lors de la liaison du fichier de sortie.
Cinq options relatives à l'en-tête PE sont disponibles sur la page Projet > Options > Compilateur Delphi > Liaison de l'EDI.
Voir aussi
- Page Options de projet > Compilateur Delphi > Liaison