Liaison (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Compilateur Delphi


Projet > Options > Construction > Compilateur Delphi > Liaison

Utilisez cette page pour définir les options du lieur pour votre application.

Attention: Les options décrites ci-dessous ne sont pas toutes disponibles pour tous les types de projets.
Options Description

Cible, Appliquer, Enregistrer

Voir Options de la cible.

Eléments communs

Voir Eléments communs des pages Options de projet.


Option de liaison Description Commutateurs du compilateur Toutes les plates-formes sont prises en charge sauf spécification contraire

Compatible Data Execution Prevention

Spécifie si l'image exécutable est compatible avec Windows Data Execution Prevention.
Valeur par défaut = True

‑‑nx-compat
‑‑nx-compat:off

  • Windows 32 bits
  • Windows 64 bits

Informations de débogage

Génère une table de numéros de lignes propre à chaque procédure, qui mappe les adresses du code objet en numéros de ligne du texte source. Equivalent à la directive du compilateur Delphi {$D+} et au commutateur -V pour DCC32. Valeur par défaut = False

‑$D+
‑$D‑

Activer les adresses longues

Spécifie si l'objet prend en charge des adresses supérieures à deux giga-octets.
Valeur par défaut = False

‑‑large-address-aware
‑‑large-address-aware:off

  • Windows 32 bits

Description de l'EXE

Entrez la description de votre fichier EXE. Ce champ peut contenir une chaîne d'un maximum de 255 caractères. La chaîne est liée à $D et incluse dans le fichier exécutable. Le plus souvent, elle sert à insérer dans l'application les informations de copyright. Les informations de copyright peuvent aussi être incluses dans le fichier des informations de version. Notez que cette option est uniquement applicable aux DLL et aux exécutables des applications, mais pas aux packages.

‑‑description

Générer une application console

Force le lieur à définir un indicateur dans le fichier .exe de l'application pour signaler une application en mode console. Valeur par défaut = False

‑CC

Base de l'image

Spécifie l'adresse de chargement préférée de l'image compilée. Habituellement, cette valeur n'est modifiée qu'à la compilation des DLL. Valeur par défaut = 400000

‑K

Inclure les symboles de débogage distant

Cochez cette option si vous utilisez le débogage distant ou multi-périphérique. Génère le fichier des symboles de débogage distant (.rsm) pour le projet. Valeur par défaut = False

‑VR

  • Windows 32 bits
  • Windows 64 bits
  • macOS 
  • Simulateur iOS

Fichier map

Le lieur peut générer un fichier map qui contient les informations générales relatives aux segments, notamment une liste de segments, l'adresse de démarrage du programme et les éventuels messages d'erreur ou d'avertissement produits au cours de la liaison. Valeur par défaut = Désactivé

  • Désactivé : Ne produit pas un fichier map. C'est la valeur par défaut.
  • Segments : Produit un fichier map qui inclut une liste de segments, l'adresse de démarrage du programme et les éventuels messages d'erreur ou d'avertissement produits au cours de la liaison.
  • Publics : Produit un fichier map qui inclut une liste de segments, l'adresse de démarrage du programme et les éventuels messages d'erreur ou d'avertissement produits au cours de la liaison, ainsi qu'une liste de symboles publics triée alphabétiquement.
  • Détaillé : Produit un fichier map qui inclut une liste de segments, l'adresse de démarrage du programme et les éventuels messages d'erreur ou d'avertissement produits au cours de la liaison, une liste de symboles publics triée alphabétiquement, ainsi qu'une carte détaillée de la segmentation. Cette carte inclut l'adresse, la longueur en octets et le nom du segment, le groupe et des informations sur les modules. Produit également un fichier de chaînes de ressources.

‑GS
‑GP
‑GD

  • Windows 32 bits
  • Windows 64 bits
  • macOS 
  • Simulateur iOS

ARM de fichier map

Le lieur peut générer un fichier map qui contient les informations générales relatives aux segments, notamment une liste de segments, l'adresse de démarrage du programme et les éventuels messages d'erreur ou d'avertissement produits au cours de la liaison. Valeur par défaut = Désactivé

  • Désactivé : Ne produit pas un fichier map. C'est la valeur par défaut.
  • Activé : Produit un fichier map.
  • Fichier map et fichier .drc : Produit à la fois un fichier map et un fichier drc.

‑G
‑GD

  • Périphérique  iOS (32 bits et 64 bits)

Taille de la pile maximale

Indique la taille totale réservée de la pile (uniquement applicable aux projets d'exécutables ; désactivé pour les DLL). Les paramètres de taille mémoire peuvent aussi être spécifiés dans le code source avec la directive de compilation $M. Valeur par défaut = 1048576

Version iOS minimale supportée

La version iOS minimale que votre application supporte. Quand vous soumettez votre application à l'AppStore, cette valeur est utilisée à des fins de filtrage. Valeur par défaut = 8.0

‑‑ios-version-min

  • Périphérique  iOS (32 bits et 64 bits)

Taille de la pile minimale

Indique la taille initiale de la pile (uniquement applicable aux projets d'exécutables ; désactivé pour les DLL). Les paramètres de taille mémoire peuvent aussi être spécifiés dans le code source avec la directive de compilation $M. Valeur par défaut = 16384

Options passées au lieur LD

Options supplémentaires pour le lieur LD.

‑‑linker-option

  • Périphérique  iOS (32 bits et 64 bits)

Générer le fichier .drc de chaînes de ressources

Crée un fichier .drc that contains the resource strings for the current project. For more information, see Ajout de langues à un projet.

‑‑drc

Placer les informations de débogage dans un fichier TDS distinct

Stocke les informations de débogage de style C++ dans un fichier .tds distinct de même nom que le projet. Ce fichier de débogage TDS est généré au moment de la compilation et il contient des informations utilisées par le débogueur. Si vous voulez que les informations de débogage soient générées directement dans le fichier PE, définissez l'option Informations de débogage sur True.
Lors du chargement d'un module C++, le débogueur examine l'horodatage du fichier .tds d'accompagnement. Si l'horodatage du fichier .tds est plus ancien que le module d'au moins 5 secondes, le débogueur considère que le fichier .tds est obsolète et par conséquent ne l'utilise pas. En outre, le journal d'événements de l'EDI signale qu'aucune information de débogage n'a été trouvée pour le module. Pour éviter le problème d'un fichier .tds manquant, effectuez l'une des actions suivantes :

  • Assurez-vous que toutes les configurations et processus de construction (EDI et ligne de commande) sont cohérents en ce qui concerne l'option "Placer les informations de débogage dans un fichier TDS distinct".
  • Supprimez le fichier .tds correspondant d'un module lors de la reconstruction du module.

Valeur par défaut = False

‑VT ‑VN

  • Windows 32 bits

Définir l'adresse de base des images relogeables

Contrôle l'adresse de chargement par défaut d'une application, d'une DLL ou d'un package. L'argument nombre doit être :

  • Une valeur d'entier 32 bits spécifiant l'adresse de base de l'image.
  • Supérieur ou égal à $00010000, les 16 bits inférieurs de l'argument sont ignorés et doivent être à zéro.
  • Un multiple de 64 Ko (c'est-à-dire, un nombre hexadécimal dont les quatre derniers chiffres sont nuls) ; sinon, il sera arrondi vers le bas à la valeur du multiple le plus proche et vous recevrez un message du compilateur.

Cette option est équivalente à la directive du compilateur Delphi {$IMAGEBASE}. Valeur par défaut = 0

‑K

Définir les indicateurs d'en-tête PE supplémentaires

Spécifie les indicateurs supplémentaires de l'en-tête PE (Portable Exécutable) pour votre application.
Définit les champs que vous spécifiez sur les valeurs spécifiées. Cette option est équivalente à la directive du compilateur Delphi {$SETPEFLAGS xxx}. Valeur par défaut = 0

‑‑peflags

  • Windows 32 bits
  • Windows 64 bits

Définir les indicateurs facultatifs d'en-tête PE supplémentaires

Définit les champs d'en-tête supplémentaires dans l'en-tête facultatif du fichier PE (Portable Exécutable). Pour de plus amples détails, voir la structure IMAGE_OPTIONAL_HEADER, comme définie dans le fichier WINNT.h. Valeur par défaut = 0

‑‑peoptflags

  • Windows 32 bits
  • Windows 64 bits

Définir les champs Version Système d'exploitation dans l'en-tête PE sur <majeur>.<mineur>

Spécifie la version du système d'exploitation requise pour exécuter l'image. Définit le champ MajorOperatingSystemVersion dans l'en-tête facultatif du fichier PE (Portable Exécutable) sur la valeur que vous spécifiez dans <majeur>. Définit aussi le champ MinorOperatingSystemVersion sur la valeur que vous spécifiez dans <mineur>. Par exemple, la saisie de 5.0 dans ce champ spécifie la version du système d'exploitation Windows 2000 dans l'en-tête facultatif du fichier PE. Les champs sont définis dans le fichier WINNT.h sous IMAGE_OPTIONAL_HEADER. Cette option est équivalente à la directive du compilateur Delphi {$SETPEOSVERSION}. Valeur par défaut = 5.0

‑‑peosversion

  • Windows 32 bits
  • Windows 64 bits

Définir les champs Version Sous-système dans l'en-tête PE sur <majeur>.<mineur>

Spécifie le sous-système Windows requis pour exécuter l'image, pour un fichier PE (Portable Exécutable). Définit le champ MajorSubsystemVersion dans l'en-tête facultatif du fichier PE sur la valeur que vous spécifiez dans <majeur>. Définit aussi le champ MinorSubsystemVersion sur la valeur que vous spécifiez dans <mineur>. Cette option est équivalente à la directive du compilateur Delphi {$SETPESUBSYSVERSION}. Valeur par défaut = 5.0
Les valeurs suivantes du sous-système sont définies dans le fichier WINNT.h :

  • IMAGE_SUBSYSTEM_UNKNOWN = 0: Sous-système inconnu
  • IMAGE_SUBSYSTEM_NATIVE = 1: Utilisé pour les pilotes de périphériques et les processus Windows NT natifs
  • IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 : L'image s'exécute dans le sous-système Interface utilisateur graphique (GUI) de Windows.
  • IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 : L'image s'exécute dans le sous-système de caractères Windows.
  • IMAGE_SUBSYSTEM_POSIX_CUI = 7 : L'image s'exécute dans le sous-système de caractères Posix.

‑‑pesubsysversion

  • Windows 32 bits
  • Windows 64 bits

Définir les champs Version Utilisateur dans l'en-tête PE sur <majeur>.<mineur>

Spécifie le numéro de version de votre application. Définit le champ MajorVersion dans l'en-tête facultatif du fichier PE (Portable Exécutable) sur la valeur que vous spécifiez dans <majeur>. Définit aussi le champ MinorVersion sur la valeur que vous spécifiez dans <mineur>. Par exemple, la saisie de 8.11 dans ce champ spécifie la version 8.11 de l'application dans l'en-tête facultatif du fichier PE. Les champs sont définis dans le fichier WINNT.h sous IMAGE_OPTIONAL_HEADER. Cette option est équivalente à la directive du compilateur Delphi {$SETPEUSERVERSION}. Valeur par défaut = 0

‑‑peuserversion

  • Windows 32 bits
  • Windows 64 bits

Supporter la randomisation du format d'espace d'adresse (ASLR)

Spécifie si la DLL ou l'image exécutable peut subir une randomisation aléatoire au moment du chargement en utilisant l'ASLR (randomisation du format d'espace d'adresse).
Valeur par défaut = True

‑‑dynamic-base
‑‑dynamic-base:off

  • Windows 32 bits
  • Windows 64 bits

Supporter la randomisation du format d'espace d'adresse 64 bits d'entropie élevée (ASLR)

Spécifie si la DLL ou l'image exécutable prend en charge la randomisation du format d'espace d'adresse (ASLR) 64 bits d'entropie élevée.
Par défaut = True

Remarque: Cet indicateur est uniquement disponible dans Win64.

‑‑high-entropy-va
‑‑high-entropy-va:off

  • Windows 64 bits

Terminal Server

Spécifie si l'app est conçue pour être exécutée dans un environnement multi-utilisateur.
Valeur par défaut = True

‑‑ts-aware
‑‑ts-aware:off

  • Windows 32 bits
  • Windows 64 bits

Voir aussi