Compilateur C++

De RAD Studio
Aller à : navigation, rechercher

Remonter à Boîte de dialogue Options de projet


Projet > Options > Compilateur C++

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

Options Description

Cible, Appliquer, Enregistrer

Voir Options de la cible.

Eléments communs

Voir Eléments communs des pages Options de projet.

Options Compilation C++

Elément Description Commutateurs du compilateur
bcc32 bcc32c bcc64 bccosx bcciosarm bcciosarm64 bccaarm

Activer les exceptions

Définit la gestion des exceptions C++. Lorsque cette option est désactivée (-x-) et que vous tentez d'utiliser des routines de gestion d'exceptions dans votre code, le compilateur génère des messages d'erreur à la compilation.

La désactivation de cette option permet de retirer facilement la gestion des exceptions des programmes ; cela peut s'avérer utile si vous portez votre code vers d'autres plates-formes ou compilateurs. La désactivation de cette option inhibe uniquement la compilation du code de gestion des exceptions ; votre application peut néanmoins inclure le code d'exception si vous liez les fichiers objet et bibliothèque qui ont été construits avec les exceptions activées (comme c'est le cas pour les bibliothèques d'exécution C++Builder).

Valeur par défaut = True

Nettoyage des destructeurs
(-xd)

Lorsque cette option est définie et qu'une exception est déclenchée, les destructeurs sont appelés pour tous les objets déclarés automatiquement entre la portée des instructions catch et throw.

Généralement, cette option doit être définie en même temps que l'option Activer les informations de type à l'exécution (-RT). Les destructeurs ne sont pas appelés automatiquement pour les objets dynamiques alloués avec new, et les objets dynamiques ne sont pas automatiquement libérés.

Valeur par défaut = True

Prologues d'exceptions rapides
(-xf)

Développe le code inline pour chaque fonction de gestion des exceptions. Cette option améliore les performances au détriment de la taille du fichier exécutable.

Valeur par défaut = False

Compteur de destructeurs globaux
(-xdg)

Utilise le compteur de destructeurs globaux (pour la compatibilité avec les versions précédentes du compilateur).

Valeur par défaut = False

Cacher les variables d'exception
(-xv)

Le compilateur traite de manière particulière les symboles de gestion d'exceptions suivants :

  • __exception_info
  • __exception_code
  • __abnormal_termination

Ils correspondent tous à des constructions spéciales du compilateur ou de la RTL pour le code de gestion structurée des exceptions (SEH, Structured Exception Handling). Si vous n'utilisez pas SEH et possédez des variables portant ces noms, vous ne pouvez pas faire référence à ces variables et votre code ne se compilera pas. L'utilisation de cette option provoque la dissimulation, par le compilateur, de ses symboles spéciaux dans cet événement, afin que vous puissiez utiliser les variables de ces noms.

Valeur par défaut = False

Informations d'emplacement
(-xp)

Quand cette option est définie, l'identification des exceptions lors de l'exécution est possible car le compilateur fournit le nom du fichier et le numéro de la ligne de code source où l'exception s'est produite. Cela permet au programme d'utiliser la fonction globale __ThrowFileName pour obtenir le fichier dans lequel l'exception s'est produite, et la fonction globale __ThrowLineNumber pour accéder au numéro de la ligne où l'exception C++ a été déclenchée.

Valeur par défaut = False

Pas de nettoyage des destructeurs DLL/MT
(-xds)

N'effectue pas de nettoyage des destructeurs multithread ou de DLL

Valeur par défaut = False

Epilogues d'exceptions lentes
(-xs)

Lorsque cette option est définie, le code épilogue de gestion des exceptions n'est pas développé en ligne. Cette option diminue légèrement les performances.

Valeur par défaut = False

Activer les exceptions
-x

Nettoyage des destructeurs
-xd

Prologues d'exceptions rapides
-xf

Compteur de destructeurs globaux
-xdg

Cacher les variables d'exception
-xv

Informations d'emplacement
-xp

Pas de nettoyage des destructeurs DLL/MT
-xds

Epilogues d'exceptions lentes
-xs
Activer les exceptions
-fexceptions

Plate-forme non prise en charge


Plate-forme non prise en charge



Plate-forme non prise en charge



Plate-forme non prise en charge



Plate-forme non prise en charge


Plate-forme non prise en charge



Plate-forme non prise en charge
N/A



Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge


Plate-forme non prise en charge


Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge
Activer les exceptions
-x

Nettoyage des destructeurs
-xd

Prologues d'exceptions rapides
-xf

Compteur de destructeurs globaux
-xdg

Cacher les variables d'exception
-xv

Informations d'emplacement
-xp

Pas de nettoyage des destructeurs DLL/MT
-xds

Epilogues d'exceptions lentes
-xs
N/A



Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge


Plate-forme non prise en charge


Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge
N/A



Plate-forme non prise en charge


Plate-forme non prise en charge



Plate-forme non prise en charge



Plate-forme non prise en charge



Plate-forme non prise en charge


Plate-forme non prise en charge



Plate-forme non prise en charge
N/A



Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge


Plate-forme non prise en charge


Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge

Activer RTTI

Indique au compilateur de générer le code qui permet l'identification des types à l'exécution (RTTI).
Généralement, cette option doit être définie en même temps que l'option Activer le nettoyage des destructeurs (-xd).

Valeur par défaut = True

-RT -frtti N/A -RT N/A N/A N/A

Précision pour membre

Le compilateur utilise la précision déclarée pour les types de pointeur sur membre. Utilisez cette option lorsqu'un pointeur sur une classe dérivée est explicitement transtypé en pointeur sur membre d'une classe de base simple (alors que le pointeur pointe effectivement sur un membre de classe dérivée).

Valeur par défaut = False

-Vmp Plate-forme non prise en charge Plate-forme non prise en charge -Vmp Plate-forme non prise en charge Plate-forme non prise en charge Plate-forme non prise en charge

Pointeurs membres

Le plus petit possible
(-Vmd)

Les pointeurs sur membres utilisent la représentation la plus petite possible leur permettant de pointer sur tous les membres de leur classe particulière. Si la classe n'est pas entièrement définie au moment de la déclaration du pointeur sur membre, la représentation la plus générale est adoptée par le compilateur et un avertissement est généré.

Héritage multiple
(-Vmm)
Les pointeurs sur membres peuvent pointer sur des membres de classes à héritage multiple, à l'exception des classes de base virtuelles.

Héritage unique
(-Vms)
Les pointeurs sur membres ne peuvent pointer que sur les membres de classes de base utilisant l'héritage unique.

Par défaut*
Pas d'options définies pour les pointeurs sur membres.
C'est la valeur par défaut.

Les plus petits possibles
-Vmd


Héritage multiple
-Vmm


Héritage unique
-Vms

Plate-forme non prise en charge


Plate-forme non prise en charge



Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge
Les plus petits possibles
-Vmd


Héritage multiple
-Vmm


Héritage unique
-Vms

Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge
Plate-forme non prise en charge


Plate-forme non prise en charge



Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge


Plate-forme non prise en charge

Génération de template

Par défaut
(-Jgd)*
Le compilateur génère des définitions publiques (globales) pour toutes les instances de templates. Si plusieurs modules génèrent la même instance de template, le lieur fusionne automatiquement les doublons pour ne produire qu'une seule copie de l'instance. Pour générer les instances, le compilateur doit disposer du corps de la fonction (dans le cas d'une fonction template) ou du corps des fonctions membres et de la définition des membres de données statiques (dans le cas d'une classe template), généralement dans un fichier en-tête.

Cette option permet de générer très facilement des instances de template. C'est la valeur par défaut.

Externe
(-Jgx)
Le compilateur génère des références externes pour toutes les instances de templates. Si vous utilisez cette option, toutes les instances de templates nécessitant une liaison doivent avoir une directive d'instanciation explicite dans au moins un autre module.

Par défaut
-Jgd

Externe
-Jgx
Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge
Par défaut
-Jgd

Externe
-Jgx
Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge

Tables virtuelles

Intelligentes
(-V)*
Génère des tables virtuelles C++ communes et des fonctions inline développées hors ligne qui sont partagées par l'ensemble des modules de votre application. Par conséquent, une seule instance d'une table virtuelle donnée ou d'une fonction en ligne développée hors ligne est incluse dans le programme. L'option Intelligentes génère les fichiers exécutables les moins volumineux et les plus rapides, mais produit des fichiers .OBJ et .ASM compatibles uniquement avec les lieurs et les assembleurs C++Builder. C'est la valeur par défaut.

Externes
(-V0)
Génère des références externes aux tables virtuelles. Si vous ne voulez pas utiliser l'option Intelligentes, utilisez les options Externes et Publiques pour produire et référencer des tables virtuelles globales. Lorsque vous utilisez cette option, un ou plusieurs des modules constituant le programme doivent être compilés avec l'option Publiques pour fournir les définitions des tables virtuelles.

Publiques
(-V1)
L'option Publiques produit des définitions publiques pour les tables virtuelles. Lors de l'utilisation de l'option Externes (-V0), au moins un des modules du programme doit être compilé avec l'option Publiques pour fournir les définitions des tables virtuelles. Tous les autres modules doivent être compilés avec l'option Externes et faire référence à la copie publique des tables virtuelles.

Valeur par défaut = Intelligentes

Intelligentes
-V

Externes
-V0

Publiques
-V1
Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge
Intelligentes
-V

Externes
-V0

Publiques
-V1
Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge
Plate-forme non prise en charge

Compilateur classique

Options du compilateur classique Description Commutateurs du compilateur
bcc32 bcc32c bcc64 bccosx bcciosarm bcciosarm64 bccaarm

Utiliser le compilateur Borland 'classique'

Active le compilateur BCC32 classique ou le compilateur BCC32C amélioré par Clang comme compilateur C++ pour plates-formes Windows 32 bits.

Utilisez cette option pour basculer un projet de BCC32 vers BCC32C et vice versa. Vous pouvez définir cette option sur :

  • True : BCC32 est activé en tant que compilateur C++ pour les projets qui ciblent les plates-formes Windows 32 bits.
  • False : BCC32C est activé en tant que compilateur C++ pour les projets qui ciblent les plates-formes Windows 32 bits.

Valeur par défaut = True

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Options Compilation générale

Options Compilation générale Description Commutateurs du compilateur
bcc32 bcc32c bcc64 bccosx bcciosarm bcciosarm64 bccaarm

Enum courte

Indique au compilateur 64 bits d'utiliser les énumérations de taille minimale.

Alloue à un type d'énumération seulement autant d'octets qu'il nécessite pour l'étendue déclarée des valeurs possibles.

Valeur par défaut = False

Option Enumérations de taille entière

Option Enumérations de taille entière

-fshort-enums

Option Enumérations de taille entière

N/A
-fshort-enums

N/A
-fshort-enums

N/A
-fshort-enums

Convention d'appel

Pascal
(-p)
Indique au compilateur de générer une séquence d'appel Pascal dans les appels de fonctions (non génération des soulignés, passage en majuscules, nettoyage de la pile par la fonction appelante, paramètres poussés dans la pile de la gauche vers la droite). Cela équivaut à déclarer toutes les sous-routines et fonctions avec le mot clé __pascal. Les appels de fonctions résultants sont généralement plus compacts et plus rapides que ceux opérés avec la convention d'appel C (-pc). Les fonctions doivent transmettre le nombre correct et le type des arguments. Vous pouvez utiliser le mot clé __cdecl, __fastcall ou __stdcall pour déclarer spécifiquement une fonction ou une sous-routine en utilisant une autre convention d'appel.

C
(-pc)*
Indique au compilateur de générer une séquence d'appel C dans les appels de fonctions (génération des soulignés, sensibilité à la casse, paramètres poussés dans la pile de la droite vers la gauche). Cela équivaut à déclarer toutes les sous-routines et fonctions avec le mot clé __cdecl. Les fonctions déclarées avec la convention d'appel C peuvent recevoir une liste variable de paramètres (le nombre de paramètres n'est pas obligatoirement fixe).
Vous pouvez utiliser le mot clé __pascal, __fastcall ou __stdcall pour déclarer spécifiquement une fonction ou une sous-routine en utilisant une autre convention d'appel. C'est la valeur par défaut.

_msfastcall
(-pm)
Indique au compilateur de substituer la convention d'appel __msfastcall pour chaque fonction n'ayant pas de convention d'appel explicitement déclarée.

Fastcall (registre)
(-pr)
Force le compilateur à générer toutes les sous-routines et fonctions en utilisant la convention de passage de paramètres par registre. Cela équivaut à déclarer toutes les sous-routines et fonctions avec le mot clé __fastcall. Avec cette option activée, les fonctions ou les routines s'attendent à ce que les paramètres soient transmis dans les registres.

Vous pouvez utiliser le mot clé __pascal, __cdecl ou __stdcall pour déclarer spécifiquement une fonction ou une sous-routine en utilisant une autre convention d'appel.

stdcall
(-ps)
Indique au compilateur de générer une séquence d'appel stdcall dans les appels de fonction (non génération des soulignés, conservation de l'emploi des majuscules/minuscules, restitution de la pile par la fonction appelée, paramètres poussés de la droite vers la gauche dans la pile). Cela équivaut à déclarer toutes les sous-routines et fonctions au moyen du mot clé __stdcall. Les fonctions doivent transmettre le nombre correct et le type des arguments.

Vous pouvez utiliser le mot clé __cdecl, __pascal ou __fastcall pour déclarer spécifiquement une fonction ou une sous-routine en utilisant une autre convention d'appel.

Valeur par défaut = C (-pc)

Pascal
-p

C
-pc

_msfastcall
-pm

Fastcall(register)
-pr

stdcall
-ps

Plate-forme non prise en charge

-mcdecl


Plate-forme non prise en charge

-mfastcall


-mrtd, -mstdcall

Plate-forme non prise en charge

-mcdecl


Plate-forme non prise en charge

-mfastcall


-mrtd, -mstdcall

Pascal
-p

C
-pc

_msfastcall
-pm

Fastcall(register)
-pr

stdcall
-ps

Plate-forme non prise en charge

-mcdecl


Plate-forme non prise en charge

-mfastcall


-mrtd, -mstdcall
Plate-forme non prise en charge

-mcdecl


Plate-forme non prise en charge

-mfastcall


-mrtd, -mstdcall
Plate-forme non prise en charge

-mcdecl


Plate-forme non prise en charge

-mfastcall


-mrtd, -mstdcall

Alignement des données

Octet
(-a1)
Ne force pas l'alignement des variables et des champs de données sur des frontières spécifiques en mémoire. Le compilateur aligne une donnée sur une adresse paire ou impaire selon la prochaine adresse disponible. Bien que l'alignement sur les frontières d'octet produise un programme plus compact, celui-ci s'exécute un peu moins rapidement. Les autres options d'alignement des données augmentent la vitesse à laquelle les processeurs 80x86 récupèrent et stockent les données.

Mot
(-a2)
Alignement des données sur 2 octets. Aligne les données non caractère sur des adresses paires. Les variables automatiques et globales sont correctement alignées. Les variables et les champs char et unsigned char peuvent être placés à une adresse quelconque ; toutes les autres données sont placées à des adresses paires.

Double mot
(-a4)
Alignement des données sur 4 octets. Aligne les données non caractère sur les frontières de mots 32 bits (4 octets). Les données dont les tailles de type sont inférieures à 4 octets sont alignées sur la taille de leur type.

Quadruple mot
(-a8)*
Alignement des données sur 8 octets. Aligne les données non caractère sur les frontières de mots 64 bits (8 octets). Les données dont la taille de type est inférieure à 8 octets sont alignées sur la taille de leur type. C'est la valeur par défaut.

Paragraphe
(-a16)
Alignement des données sur 16 octets. Aligne les données non caractère sur les frontières de 128 bits (16 octets). Les données dont la taille de type est inférieure à 16 octets sont alignées sur la taille de leur type.

Valeur par défaut = Quadruple mot (8)

Octet
-a1

Mot
-a2

Double mot
-a4

Quadruple mot
-a8

Paragraphe
-a16

-fpack-struct=1


-fpack-struct=2


-fpack-struct=4


-fpack-struct=8


-fpack-struct=16

N/A


N/A


N/A


N/A


N/A

Octet
-a1

Mot
-a2

Double mot
-a4

Quadruple mot
-a8

Paragraphe
-a16

N/A


N/A


N/A


N/A


N/A
N/A


N/A


N/A


N/A


N/A
N/A


N/A


N/A


N/A


N/A

Désactiver le contrôle d'accès C++

Indique au compilateur de ne pas mettre en vigueur le contrôle d'accès. Ce qui signifie que le compilateur n'émet pas d'erreur si un membre privé ou protégé est accédé alors qu'il ne devrait pas être accessible. Utilisez cette option si vous avez du code qui était auparavant autorisé par BCC32, mais que BCC64 considère comme violant le contrôle d'accès (ou mieux, mettez à jour votre code conformément à la règle utilisée par BCC64).

Valeur par défaut = False

Plate-forme non prise en charge

N/A

-fno-access-control

Plate-forme non prise en charge

N/A N/A N/A

Activer la compilation groupée

Active la compilation groupée.

Lorsque cette option est activée, tous les modules source sont transmis au compilateur C++ sur la même ligne de commande, au lieu d'appeler le compilateur une fois pour chaque module source. Pour les compilations groupées, les événements de construction sont générés pour la compilation groupée entière, et non pour des fichiers uniques. De même, une compilation groupée utilise un ensemble d'options de projet ; aucune redéfinition par fichier n'est autorisée.

Si vous utilisez un compilateur C++ amélioré par Clang, vous pouvez utiliser l'option "Activer la compilation groupée" en combinaison avec l'option "Exécuter le compilateur C++ dans un processus distinct" pour activer la compilation parallèle. Les compilateurs améliorés par Clang pour plates-formes 32 bits arrêtent la compilation après l'échec de compilation d'un fichier.

Valeur par défaut = Désactivé

Nombre maximal d'erreurs
(-j)

Provoque l'arrêt de la compilation groupée après la détection du nombre spécifié d'erreurs. Vous pouvez entrer un nombre compris entre 0 et 255.

Valeur par défaut = 1

Si vous entrez 0, la compilation continue jusqu'à ce que soit atteint la fin du fichier ou la limite de cet avertissement.

Nombre maximal d'avertissements
(-g)

Provoque l'arrêt de la compilation groupée après la détection du nombre spécifié d'avertissements. Vous pouvez entrer un nombre compris entre 0 et 255.

Valeur par défaut = 255

Si vous entrez 0, la compilation continue jusqu'à ce que soit atteint la fin du fichier ou la limite de cette erreur.

S'arrêter sur la première erreur
(-jb)

Arrête la compilation groupée après le premier fichier ayant généré des erreurs. Par exemple :

BCC32.exe -c -gb *.ccp
BCC32.exe -c -gb file1.cpp file2.cpp

Sans l'indicateur -jb, les compilations groupées peuvent continuer sur le prochain fichier prévu, même après qu'un fichier précédent ait provoqué une erreur.

Erreurs maximales
-j

Avertissements maximals
-g

S'arrêter sur la première erreur
-jb

-ferror-limit


Plate-forme non prise en charge


Plate-forme non prise en charge
N/A


Plate-forme non prise en charge


Plate-forme non prise en charge

Erreurs maximales
-j

Avertissements maximals
-g

S'arrêter sur la première erreur
-jb

N/A


Plate-forme non prise en charge


Plate-forme non prise en charge
N/A


Plate-forme non prise en charge


Plate-forme non prise en charge
N/A


Plate-forme non prise en charge


Plate-forme non prise en charge

Informations d'erreurs étendues

Le compilateur génère davantage d'informations étendues sur les erreurs.

Valeur par défaut = False

-Q

Plate-forme non prise en charge

Plate-forme non prise en charge

-Q Plate-forme non prise en charge Plate-forme non prise en charge Plate-forme non prise en charge

Forcer la compilation C++

Provoque la compilation C++ de tous les fichiers source, quelle que soit leur extension.

Valeur par défaut = False

-P

-x c++

-x c++

-P

-x c++

-x c++

-x c++

Jeu d'instructions

80386
(-3)*
Génère des instructions compatibles au mode protégé 80386. C'est la valeur par défaut.

80486
(-4)
Génère des instructions compatibles au mode protégé i486.

Pentium
(-5)
Génère des instructions Pentium. Cette option augmente la vitesse d'exécution de l'application sur les machines Pentium. Mais le programme sera un peu plus volumineux que celui généré avec l'option 80386 ou i486. Par ailleurs, le code compilé pour le Pentium maintient un haut niveau de performance sur les systèmes non Pentium.

Pentium Pro
(-6)
Génère des instructions Pentium Pro.

Valeur par défaut = 80386

80386
-3

80486
-4

Pentium
-5

Pentium Pro
-6

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

80386
-3

80486
-4

Pentium
-5

Pentium Pro
-6

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Enumérations de taille entière

Alloue un mot entier (entier de 4 octets pour les programmes 32 bits) pour les types énumération (variables du type enum).

Si cette option est désactivée (-bi-), le compilateur alloue l'entier le plus petit pouvant contenir les valeurs d'énumération : le compilateur alloue un unsigned char ou un signed char si les valeurs de l'énumération sont dans la fourchette de 0 à 255 (minimum) ou de -128 à 127 (maximum), ou un unsigned short ou un signed short si les valeurs de l'énumération sont dans les fourchettes de : 0..65535 ou -32768..32767.

Le compilateur alloue un int sur 4 octets (32 bits) pour représenter les valeurs de l'énumération si une valeur sort des fourchettes.

Valeur par défaut = True

-bi

-fshort-enums

N/A

-bi

N/A N/A N/A

Enumérations typées-integer

Active les énumérations de taille entière (-bi, décrit ci-dessus) et traite les énumérations comme des entiers d'un point de vue vérification du type (assouplit la vérification du type pour les énumérations).
Lorsque cette option est désactivée (-b-), le compilateur rend sizeof(enum x) aussi petit que possible et applique les règles d'énumération à la vérification du type.

Valeur par défaut = False

-b

-fshort-enums

N/A

-b

N/A N/A N/A

Conformité du langage

ANSI
(-A)

Utilise les extensions et mots clés ANSI. Compile du code C et C++ compatible ANSI. Ce type de code offre une meilleure portabilité. Les mots clés autres que ceux du standard ANSI sont ignorés.

GNU
(-AG)

Utilise les mots clés et les extensions de Gcc, la GNU Compiler Collection distribuée par Free Software Foundation à l'adresse http://gcc.gnu.org/ (EN). Indique au compilateur de reconnaître les mots clés et les extensions spécifiques au GNU, comme __attribute__, __const, __inline__, __signed__. Voir Attributs GNU.

K & R
(-AK)

Utilise les extensions et les mots clés Kernighan et Ritchie (KR). Indique au compilateur de ne reconnaître que les mots clés d'extension KR et de traiter les mots clés d'extension C++ comme des identificateurs normaux.

Borland/CodeGear
(aussi -A-) (-AT)*

Utilise les extensions et mots clés Borland/CodeGear/Embarcadero C++. Indique au compilateur de reconnaître les extensions aux mots clés du langage C, notamment near, far, huge, asm, cdecl, pascal, interrupt, _export, _ds, _cs, _ss, _es, et les pseudovariables registre ( _AX, _BX, etc.). C'est la valeur par défaut.

Unix System V
(-AU)

Utilise les extensions et les mots clés UNIX System V. Indique au compilateur de ne reconnaître que les mots clés UNIX V et de traiter les mots clés d'extension Borland/CodeGear/Embarcadero C++ comme des identificateurs normaux.

Conseil : Si des erreurs de syntaxe apparaissent dans les déclarations de votre code source, assurez-vous que cette option est bien définie sur Borland/CodeGear.

Valeur par défaut = Borland/CodeGear.

ANSI
-A

GNU
-AG

K & R
-KR

Borland/CodeGear
-AT

Unix System V
-AU

-fno-borland-extensions

Plate-forme non prise en charge

Plate-forme non prise en charge

-fborland-extensions

Plate-forme non prise en charge

N/A


Plate-forme non prise en charge

Plate-forme non prise en charge

N/A


Plate-forme non prise en charge

ANSI
-A

GNU
-AG

K & R
-KR

Borland/CodeGear
-AT

Unix System V
-AU

N/A


Plate-forme non prise en charge

Plate-forme non prise en charge

N/A


Plate-forme non prise en charge
N/A


Plate-forme non prise en charge

Plate-forme non prise en charge

N/A


Plate-forme non prise en charge
N/A


Plate-forme non prise en charge

Plate-forme non prise en charge

N/A


Plate-forme non prise en charge

Variables registre

Aucune
(-r-)*
Désactive l'utilisation des variables registre. Indique au compilateur de ne pas utiliser de variables registre même s'il rencontre le mot clé register. C'est la valeur par défaut.

Explicite
(-rd)
Utilise les variables registre uniquement si vous utilisez le mot clé register alors qu'un registre est disponible. Utilisez cette option ou l'option Toujours (-r) pour optimiser l'usage des registres. Vous pouvez utiliser -rd dans les options #pragma.

Toujours
(-r)
Assigne automatiquement des variables registre quand cela est possible, même si vous ne spécifiez pas une variable registre en utilisant le mot clé register. Généralement, vous pouvez utiliser Toujours, à moins que vous ne deviez effectuer l'interfaçage avec du code assembleur existant qui ne prend pas en charge les variables registre.

Valeur par défaut = Aucune

Aucune
-r-

Explicite
-rd

Toujours
-r

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Aucune
-r-

Explicite
-rd

Toujours
-r

Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge
Plate-forme non prise en charge

Plate-forme non prise en charge

Plate-forme non prise en charge

Définir le nombre maximal d'erreurs à émettre avant d'arrêter (0 = pas de limite)

Pour spécifier le nombre d'erreurs autorisées pour le compilateur C++ 64 bits, sélectionnez le nombre affiché dans ce champ et tapez le nombre voulu. Valeur par défaut = 1

Plate-forme non prise en charge

N/A

-ferror-limit

Plate-forme non prise en charge

N/A

N/A

N/A

Cadres de pile standard

Génère un cadre de pile standard (code d'entrée et de sortie de fonction standard). C'est pratique lors du débogage car cela simplifie le pas à pas dans la pile des sous-routines appelées.

Lorsque cette option est désactivée, toute fonction n'utilisant ni variables locales ni paramètres est compilée avec un code d'entrée et de sortie abrégés. Cela donne un code plus compact et plus rapide.

L'option Cadres de pile standard doit toujours être activée lorsque vous compilez un fichier source à déboguer.

Valeur par défaut = True

-k

Plate-forme non prise en charge

Plate-forme non prise en charge

-k

Plate-forme non prise en charge Plate-forme non prise en charge Plate-forme non prise en charge

Pages enfant

Voir aussi