Lieur C++
Remonter à Construction
Projet > Options > Construction > Lieur C++
Utilisez cette boîte de dialogue pour définir les options du lieur C++.
Sommaire
Options | Description |
---|---|
Cible, Appliquer, Enregistrer |
Voir Options de la cible. |
Eléments communs |
Options de liaison
Options de liaison | Description | Commutateurs du lieur | ||||
---|---|---|---|---|---|---|
ilink32 | ilink64 | ld (iOS) | ld (Android) | |||
Désactiver la liaison incrémentielle |
Supprime la génération des fichiers d'état du lieur, en désactivant la liaison incrémentielle. Si vous utilisez l'option Désactiver la liaison incrémentielle, les liaisons ultérieures demanderont autant de temps que la première. |
-Gn | -Gn | Plate-forme non prise en charge | Plate-forme non prise en charge | |
Afficher le temps écoulé pendant la liaison |
Inclut dans la sortie du lieur le temps nécessaire pour achever la liaison. |
-t | -t | Plate-forme non prise en charge | Plate-forme non prise en charge | |
Informations de débogage complètes |
Inclut dans le fichier de sortie les informations nécessaires au débogage de votre application avec le débogueur intégré de C++Builder :
Sur la ligne de commande, cette option indique au lieur d'inclure les informations de débogage dans le fichier TDS pour tous les modules d'objets contenant des informations de débogage. Vous pouvez utiliser les options -v+ et -v- pour activer ou désactiver les informations de débogage sélectivement module par module (mais non sur la ligne de commande où vous utilisez -v). Par exemple, la commande suivante inclut les informations de débogage pour les modules
Valeur par défaut = False
|
-v | -v | -S | -S | |
Générer un fichier .drc |
ILINK32 génère des fichiers .RC (fichiers .drc) compatibles Delphi. Le fichier .drc a le même nom que le fichier exécutable, et est placé dans le même répertoire. |
-GD | -GD | Plate-forme non prise en charge | Plate-forme non prise en charge | |
Générer le fichier des symboles .map |
Génère un fichier map dans .\OutputFolder\ProjectName.map. Pour les plates-formes de bureau, vous définissez les options du fichier Map sur la page Sortie du lieur C++. |
N/A | N/A | -map (non activé) | -Map (non activé) | |
Générer la bibliothèque d'importation |
Génère un fichier de bibliothèque d'importation, une petite bibliothèque statique qui décrit les exportations d'un package ou d'une .dll afin qu'une application puisse s'y lier. Ce fichier est utilisé pour la liaison des bibliothèques dynamiques. Sans une bibliothèque d'importation, vous ne pouvez pas utiliser le package dans C++. L'extension du fichier de bibliothèque d'importation est :
Activée seulement pour les packages C++. |
-Gi | -Gi | Plate-forme non prise en charge | Plate-forme non prise en charge | |
Générer une bibliothèque de packages statiques (.lib) |
Génère une bibliothèque de packages liables statiquement. La construction d'une bibliothèque de packages statiques C++ (.lib) requiert un ensemble de .objs qui sont différents des .objs utilisés pour construire la bibliothèque dynamique (.bpl). Quand cette option est activée (le paramètre par défaut), une commande Construire ou Make produit deux jeux de fichiers .obj :
Les fichiers .obj pour la bibliothèque statique (.lib) sont générés dans un sous-répertoire créé dans le répertoire de votre projet, typiquement le répertoire Quand cette option est désactivée, une commande Construire ou Make produit seulement la bibliothèque dynamique (.bpl). Pour de plus amples informations, voir Construction de packages statiques. Activée seulement pour les packages C++. Valeur par défaut = True |
-Gl | -Gl | Plate-forme non prise en charge | Plate-forme non prise en charge | |
Conserver les fichiers de sortie |
Indique au lieur de conserver les fichiers de sortie qui sont normalement supprimés en cas d'erreurs. Le lieur a été modifié pour supprimer son fichier de sortie (EXE/DLL) quand il y a des erreurs au cours de la liaison. Auparavant, ces fichiers n'étaient pas supprimés. |
-Gk | -Gk | Plate-forme non prise en charge | Plate-forme non prise en charge | |
Lier avec la RTL dynamique |
Contrôle si la RTL C est liée de manière dynamique (ou statique) à la bibliothèque d'exécution (cc3290.dll). |
N/A | N/A | N/A | N/A | |
Lier avec la bibliothèque d'exécution Delphi |
Garantit que l'application est liée avec :
C++ est lié à la RTL Delphi si cette option est activée, ou si le projet a une affinité framework. Par exemple, les projets Fiches FMX, en raison de leur affinité framework, sont liés à la RTL Delphi. Utilisez cette option pour toute application C++ n'ayant pas d'affinité framework et dont vous voulez utiliser des types Delphi (tels que UnicodeString, Variant, et ainsi de suite) ou pour accéder à certaines fonctionnalités exposées par les unités du package Delphi RTL (telles que SysUtils, Classes, IOUtils, et ainsi de suite). Les applications console C++ ne peuvent pas gérer les exceptions Delphi sauf si vous activez cette option ou sélectionnez un framework quand vous créez l'application à l'aide de l'expert Nouvelle application console (C++). |
N/A | N/A | N/A | N/A | |
Retirer le fichier lieur temporaire .lnk après la liaison |
Cette option retire le fichier temporaire du lieur dans .\OutputFolder\ProjectName.lnk. |
N/A | N/A | N/A | N/A | |
Spécifier le nombre maximal d'erreurs |
Définit le nombre spécifié d'erreurs rencontrées (nn) avant que le lieur ne soit abandonné. |
-Enn | -Enn | Plate-forme non prise en charge | Plate-forme non prise en charge |
Options avancées
Options avancées | Description | Commutateurs du lieur | |
---|---|---|---|
ilink32 | ilink64 | ||
Autres options |
Entrez les options du lieur supplémentaires de votre choix. Pour les options, voir ILINK32.EXE, le lieur incrémentiel 32 bits. |
N/A | N/A |
Liaison sensible à la casse |
Le lieur distingue les caractères majuscules et minuscules dans les symboles publics et externes. Normalement, cette option doit être définie, car C et C++ sont tous deux des langages sensibles à la casse. |
-c | -c |
Effacer l'état avant la liaison |
Supprime les fichiers d'état du lieur incrémentiel existants, puis recrée ces fichiers et poursuit avec le lieur. Cette option vous permet d'actualiser les fichiers d'état. |
-C | -C |
Compatible Data Execution Prevention |
Spécifie si l'image exécutable est compatible avec Windows Data Execution Prevention. |
-GE:NXCOMPAT=ON -GE:NXCOMPAT=OFF | -GE:NXCOMPAT=ON -GE:NXCOMPAT=OFF |
Différer le chargement des DLL |
Spécifie les DLL dont le chargement est différé. Le chargement différé de DLL est utile pour les DLL très peu utilisées par une application, mais se traduit par des coûts de démarrage élevés. Les DLL dont le chargement est différé ne sont chargées et initialisées que lorsqu'un point d'entrée de la DLL est réellement appelé. L'utilisateur peut intégrer le support de la RTL pour le chargement différé des DLL afin de gérer les erreurs au chargement et supplanter le système de chargement différé, si cela est souhaité. Voir la description du bouton pop-up |
-d | -d |
Effectuer une somme de contrôle de l'image |
Calcule la somme de contrôle (checksum) de la cible et place le résultat dans l'en-tête PE de la cible. Cela est utilisé pour les pilotes du mode NT Kernel et les DLL système. |
-Gz | -Gz |
Activer les adresses longues |
Spécifie si l'objet prend en charge des adresses supérieures à deux giga-octets. |
-GF:LARGEADDRESSAWARE | |
TLS rapide |
Alloue TLS (Thread-Local Storage) depuis Windows au lieu d'utiliser le mécanisme de partage TLS. |
-Gt | -Gt |
Alignement de fichier |
Spécifie l'alignement des pages pour le code et les données dans le fichier exécutable. Le lieur utilise la valeur de l'alignement de fichier lorsqu'il écrit dans le fichier les divers objets et sections (code et données). Par exemple, si vous utilisez la valeur par défaut 0x200, le lieur stocke la section de l'image sur des frontières de 512 octets dans le fichier exécutable. Lorsque vous utilisez cette option, vous devez spécifier une valeur d'alignement de fichier qui soit une puissance de 2, la plus petite valeur étant 16. L'ancien style de cette option ( La version en ligne de commande de cette option ( |
-Af | -Af |
Alignement des objets |
Le lieur utilise la valeur d'alignement des objets pour déterminer les adresses virtuelles des différents objets et sections (comme le code et les données) dans votre application. Par exemple, si vous spécifiez une valeur d'alignement des objets de 8192, le lieur aligne les adresses virtuelles des sections dans l'image sur les frontières 8192 octets (0x2000). Lors de l'utilisation de cette option, vous devez spécifier une valeur d'alignement des objets qui soit une puissance de 2, la plus petite valeur étant 4096 (0x1000) (valeur par défaut). La version en ligne de commande de cette option ( |
-Ao | -Ao |
Remplacer les ressources |
Ajoute et/ou remplace des ressources sans éliminer les ressources existantes. |
-Rr | -Rr |
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). |
-GE:DYNAMICBASE=ON -GE:DYNAMICBASE=OFF | -GE:DYNAMICBASE=ON -GE:DYNAMICBASE=OFF |
Supporter la randomisation du format d'espace d'adresse 64 bits d'entropie élevée (ASLR 64 bits) |
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. Remarque: Cet indicateur est uniquement disponible dans Win64.
|
-GE:HIGHENTROPYVA=ON -GE:HIGHENTROPYVA=OFF | |
Terminal Server |
Spécifie si l'app est conçue pour être exécutée dans un environnement multi-utilisateur. |
-GE:TSAWARE=ON -GE:TSAWARE=OFF | -GE:TSAWARE=ON -GE:TSAWARE=OFF |
Liaison commentée |
Définit l'option de commentaire RLINK32 et des informations détaillées sont émises au cours de la liaison des ressources. |
-r | -r |
Bibliothèques liées supplémentaires
Bibliothèques supplémentaires | Description | Commutateurs du lieur | ||||
---|---|---|---|---|---|---|
ilink32 | ilink64 | ld (iOS) | ld (Android) | |||
Autres options Bibliothèques liées en supplément |
Lie votre application en fonction de la liste de bibliothèques spécifiée. Spécifiez les bibliothèques par leur nom de code. Par exemple, pour réaliser un lien avec MIDAS, ajoutez "midas" à la liste.
|
Plate-forme non prise en charge | Plate-forme non prise en charge | -l | -l | |
Lier avec DBX InterBase |
Réalise un lien avec la bibliothèque client dbExpress InterBase. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lsqlib | -lsqlib | |
Lier avec Indy |
Réalise un lien avec les bibliothèques Indy. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lIndyCore -lIndyProtocols -lIndySystem | -lIndyCore -lIndyProtocols -lIndySystem | |
Lier avec Interbase ToGo |
Réalise un lien avec la bibliothèque client dbExpress InterBase ToGo. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -libtogo | -libtogo | |
Lier avec Midas |
Réalise un lien avec MIDAS, la bibliothèque DataSnap. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lmidas | -lmidas | |
Lier avec des expressions régulières. |
Réalise un lien avec la bibliothèque d'expressions régulières, la bibliothèque PCRE (expressions régulières compatibles Perl) adaptée à C++. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lpcre | Plate-forme non prise en charge | |
Lier avec SQLite |
Réalise un lien avec la bibliothèque client dbExpress SQLite. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lsqlite3 | -lsqlite | |
Lier avec SSL et Crypto |
Réalise un lien avec les bibliothèques OpenSSL. Voir par exemple Création d'une app iOS, prise en charge OpenSSL. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lssl -lcrypto | Plate-forme non prise en charge | |
Lier avec ZLib |
Réalise un lien avec la bibliothèque de compression ZLib. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -lz | -lz | |
Version iOS minimale supportée. |
Définit la version iOS minimale prise en charge par votre application. Voir Prérequis de plate-forme FireMonkey, Exigences iOS. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -iphoneos_version_min | N/A | |
Symboles censés être exportés par le runtime |
Liste des symboles qui doivent être exportés, car ils sont nécessaires à l'exécution. |
Plate-forme non prise en charge | Plate-forme non prise en charge | -exported_symbol | Plate-forme non prise en charge |
Paramètres de tas du lieur
WIN64
Paramètres de tas du lieur | Description | Indicateur de la ligne de commande |
---|---|---|
Taille du tas du code |
Tas pour les sections |
-GHcode=0xnnnn |
Taille du tas des données |
Tas pour les sections |
-GHdata=0xnnnn |
Taille du tas Abbrev Dwarf |
Tas pour les codes d'abréviations |
-GHdwarf_abbrev=0xnnnn |
Taille du tas Aranges Dwarf |
Tas pour les entrées de plages d'adresses |
-GHdwarf_aranges=0xnnnn |
Taille du tas Info Dwarf |
Tas pour les modules et les types de symboles triviaux |
-GHdwarf_info=0xnnnn |
Taille du tas Line Dwarf |
Tas pour les informations sur les numéros de ligne |
-GHdwarf_line=0xnnnn |
Taille du tas Loc Dwarf |
Tas pour les descriptions d'emplacement |
-GHdwarf_loc=0xnnnn |
Taille du tas Macinfo Dwarf |
Tas pour les informations sur les macros |
-GHdwarf_macinfo=0xnnnn |
Taille du tas Pubtypes Dwarf |
Tas pour les types de symboles publics |
-GHdwarf_pubtypes=0xnnnn |
Taille du tas Ranges Dwarf |
Tas pour les plages d'adresses |
-GHdwarf_ranges=0xnnnn |
Taille du tas Str Dwarf |
Tas pour les chaînes Dwarf |
-GHdwarf_str=0xnnnn |
WIN32
Paramètres de tas du lieur | Description | Indicateur de la ligne de commande |
---|---|---|
Taille du tas Info |
Tas pour les structures de données du lieur |
-GHinfo |
Taille du tas du code |
Tas pour le code |
-GHcode |
Taille du tas des données |
Tas pour les données |
-GHdata |
Taille du tas des données RO |
Tas pour les données en lecture seule |
-GHrodata |
Taille du tas des données non initialisées |
Tas pour les données non initialisées |
-GHbss |
Taille du tas TDS |
Tas pour les symboles Turbo Débogueur |
-GHtds |