Sortie du lieur C++

De RAD Studio
Aller à : navigation, rechercher

Remonter à Lieur C++


Projet > Options > Lieur C++ > Sortie

Utilisez cette boîte de dialogue pour définir les options de sortie du lieur C++.

Options Description

Cible, Appliquer, Enregistrer

Voir Options de la cible.

Eléments communs

Voir Eléments communs des pages Options de projet.

Options de sortie du lieur C++ prises en charge sur toutes les plates-formes : La plupart des options de cette page sont partagées par tous les lieurs C++ et sont ainsi prises en charge sur toutes les plates-formes cible prises en charge. Il existe deux exceptions :

  • Indicateurs d'image (option prise en charge uniquement sur les plates-formes Windows)
  • Indicateurs de section (option prise en charge uniquement sur les plates-formes Windows)
Options de fichier map Description

Adresse de base
(-b)

Spécifie une adresse de base pour votre exécutable ou DLL. L'adresse de chargement du premier objet de l'application ou de la bibliothèque est définie par le nombre spécifié, si cela est possible, et tous les objets suivants sont alignés sur les frontières d'adresse linéaires 64 K ; les relocations internes sont ignorées. Cependant, si le module ne peut être chargé à l'adresse spécifiée, le système d'exploitation reprend son fonctionnement par défaut et applique les relocations internes. Préserve la table de relogement. Spécifie la valeur en décimal ou en hexadécimal sur des frontières de 512 octets ou 0x200.
Valeur par défaut = 0x00400000

Taille du tas, maximale
(-H)

Spécifie la taille du tas réservé, en décimal ou en hexadécimal. La valeur minimale autorisée pour ce champ est 0. Spécifier ici la taille du tas réservé remplace toute définition HEAPSIZE d'un fichier de définition de module.

Valeur par défaut = 0x00100000

Taille du tas, minimale
(-Hc)

Spécifie la taille du tas minimale, en décimal ou en hexadécimal. La valeur minimale autorisée pour ce champ est 0 et toute valeur spécifiée doit être égale ou inférieure à l'option Taille du tas, maximale.

Spécifier ici la taille du tas minimale remplace toute définition HEAPSIZE d'un fichier de définition de module.

Valeur par défaut = 0x00001000

Prise en charge uniquement sur les plates-formes Windows 32 bits et Windows 64 bits.

Chaîne de commentaire d'image
(-GC)

Spécifie les commentaires à insérer dans l'image (.exe, .dll, .bpl et ainsi de suite) directement après la table objet dans l'en-tête de fichier PE. Ces commentaires peuvent être lus hors de l'image avec TDump ou des outils similaires.

Description d'image
(-D)

Enregistre dans l'image PE la description spécifiée.

Indicateurs d'image
(-GF)

Vous permet de définir plusieurs indicateurs sur l'image. Les indicateurs suivants sont pris en charge :

-GF:SWAPNET
-GF:SWAPCD
-GF:UNIPROCESSOR
-GF:LARGEADDRESSAWARE
-GF:AGGRESSIVESWAPNET
  • SWAPNET indique au système d'exploitation de copier l'image dans un fichier d'échange local et de l'exécuter depuis cet emplacement si l'image réside sur une unité du réseau.
  • SWAPCD indique au système d'exploitation de copier l'image dans un fichier d'échange local et de l'exécuter depuis cet emplacement si l'image réside sur un support amovible (par exemple, CD, disquette ou clé USB).
  • UNIPROCESSOR indique au système d'exploitation que cette application ne peut pas s'exécuter sur un système multiprocesseur.
  • LARGEADDRESSAWARE indique au système d'exploitation que cette application accepte les adresses supérieures à 4 Giga-octets.
  • AGGRESSIVE autorise le système d'exploitation à tronquer l'ensemble de travail d'une application quand celle-ci est inactive. C'est idéal pour les économiseurs d'écran et autres processus qu'il vaut mieux, autant que possible, laisser à l'écart des processus principaux.

Valeur par défaut = Aucun

Prise en charge uniquement sur les plates-formes Windows 32 bits et Windows 64 bits.

Le bouton popup Points de suspension est décrit dans Eléments communs des pages Options de projet.

Type du fichier map

Fichier map avec segments


Inclut seulement les segments dans le fichier map. Survient quand aucune option -m,-s ou -x n'est spécifiée. C'est la valeur par défaut.
Fichier map avec les symboles publics (-m)
Indique au lieur de produire un fichier map contenant un aperçu des segments de l'application et deux listes de symboles publics.

La liste des segments contient une ligne par segment montrant l'adresse de début, la longueur, le nom et la classe du segment.

Les symboles publics sont présentés en deux listes, la première liste suit l'ordre alphabétique, la seconde l'ordre croissant des adresses. Les symboles ayant une adresse absolue sont repérés par Abs.

La liste des symboles publics est utile lors du débogage : de nombreux débogueurs utilisent les symboles publics pour vous permettre de faire référence aux adresses symboliques au cours du débogage.
Map de segment détaillé (-s)
Crée le fichier map le plus complet en ajoutant un plan détaillé des segments au fichier map créé avec l'option Fichier map avec les symboles publics. La liste détaillée des segments contient la classe, le nom, le groupe, le module et les informations ACBP de chaque segment. Si le même segment apparaît dans plusieurs modules, chaque module figure sur une ligne distincte.
Le champ ACBP encode les attributs A (alignement), C (combinaison) et B (big) dans un groupe de quatre champs de bits tels que définis par Intel. ILINK32 utilise seulement trois champs : A, C et B. La valeur ACBP est inscrite en hexadécimal dans le map. Les valeurs des champs ci-dessous doivent être combinées par un opérateur OR pour donner la valeur ACBP inscrite.
Champ - Valeur - Description
A (alignement)

  • - 00 - Un segment absolu
  • - 20 - Un segment aligné sur les octets
  • - 40 - Un segment aligné sur les mots
  • - 60 - Un segment aligné sur les paragraphes
  • - 80 - Un segment aligné sur les pages
  • - A0 - Une portion de mémoire absolue et non nommée

C (combinaison)

  • - 00 - Ne peut pas être combiné
  • - 08 - Un segment de combinaison public

B (big)

  • - 00 - Segment inférieur à 64 Ko
  • - 02 - Segment de 64 Ko exactement

Lorsque les options de segments sont définies, les symboles publics sans référence sont repérés par idle. Un symbole idle est un symbole défini publiquement dans un module n'ayant pas été référencé par un enregistrement EXTDEF ni par aucun autre module inclus dans la liaison. Par exemple, ce fragment de la section des symboles publics d'un fichier map indique que les symboles Symbol1 et Symbol3 ne sont pas référencés par l'image en train d'être liée :

0002:00000874 Idle Symbol1
0002:00000CE4 Symbol2
0002:000000E7 Idle Symbol3

Ne pas générer de map (-x) Désactive la création du fichier map par défaut du lieur. Par défaut, le lieur génère un fichier map contenant les informations générales relatives aux segments, notamment la liste des segments, l'adresse de démarrage du programme et tous les messages d'avertissement ou d'erreur produits au cours de la liaison. Il n'existe pas de commutateur pour ce paramètre. Utilisez l'option Ne pas générer de map pour supprimer la création de ce fichier map par défaut.

Mapper avec des noms substantypés
(-M)

Inscrit dans le fichier map les identificateurs C++ substantypés, et pas le nom complet. Cela peut vous aider à identifier comment les noms sont substantypés (les noms substantypés sont utilisés en entrée par certains utilitaires).
Valeur par défaut = False

Version du système d'exploitation
(-V)

Spécifie l'ID de la version Windows sur laquelle votre application sera exécutée. Le lieur définit le champ version du sous-système dans l'en-tête .EXE sur le nombre que vous avez spécifié dans la zone de saisie.

Vous pouvez aussi définir l'ID de la version de Windows dans la partie SUBSYSTEM du fichier de définition de module (fichier .DEF). Cependant, toute valeur de version spécifiée dans l'EDI ou sur la ligne de commande remplacera la valeur du fichier .DEF.

Lorsque vous utilisez l'option Version du système d'exploitation, le lieur définit l'ID de la version de Windows sur le nombre spécifié. Par exemple, si vous spécifiez 4.0, le lieur définit le champ de version du sous-système dans l'en-tête .EXE sur 4.0, ce qui indique une application Windows 95.

Indicateurs de section
(-GS)

L'option Indicateurs de section vous permet d'ajouter des indicateurs à une section d'image nommée. Cette option ajoute les indicateurs aux indicateurs existants d'une section donnée. Il n'y a aucun moyen de retirer les indicateurs par défaut d'une section.

Les indicateurs autorisés sont :
E - Exécutable
C - Contient du code
I - Contient des données initialisées
R - La section est accessible en lecture
W - La section est accessible en écriture
S - La section est partagée
D - La section peut être supprimée
K - La section ne doit pas être mise en cache
P - La section ne doit pas être paginée
Valeur par défaut = Pas d'indicateur
Le bouton popup Points de suspension est décrit dans Eléments communs des pages Options de projet.

Taille de la pile, maximale
(-S)

Spécifie la taille de la pile réservée, en décimal ou en hexadécimal. La valeur minimale autorisée pour ce champ est de 4 Ko (0x1000).
Spécifier la taille de la pile réservée ici remplace tout paramètre STACKSIZE d'un fichier de définition de module.
Valeur par défaut = 0x00100000

Taille de la pile, minimale
(-Sc)

Spécifie la taille de la pile minimale, en décimal ou en hexadécimal. La valeur minimale autorisée pour ce champ est de 4 Ko (0x1000) et toute valeur spécifiée doit être égale ou inférieure à l'option Taille de la pile, maximale.
Spécifier la taille de la pile validée ici remplace tout paramètre STACKSIZE d'un fichier de définition de module.
Valeur par défaut = 0x00002000

Version utilisateur
(-U)

Spécifie l'ID de la version de votre exécutable. Le lieur définit le champ version utilisateur dans l'en-tête de l'exécutable sur le nombre que vous spécifiez.
Lorsque vous utilisez l'option Version utilisateur, le lieur définit l'ID de la version de l'application sur le nombre spécifié. Par exemple, si vous spécifiez 4.0, le lieur définit le champ version utilisateur dans l'en-tête de l'exécutable sur 4.0.
Valeur par défaut = 1.0

Voir aussi