Compilateur C++
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++.
Sommaire
Options | Description |
---|---|
Cible, Appliquer, Enregistrer |
Voir Options de la cible. |
Eléments communs |
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 =
|
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). Valeur par défaut = |
-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 = |
-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 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 Héritage unique Par défaut* |
Les plus petits possibles -Vmd
|
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
|
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 Cette option permet de générer très facilement des instances de template. C'est la valeur par défaut. Externe |
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 Externes Publiques Valeur par défaut = |
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 :
Valeur par défaut = |
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 = |
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 |
N/A |
N/A | ||||||
Convention d'appel |
Pascal C _msfastcall Fastcall (registre) 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 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 |
Plate-forme non prise en charge |
Plate-forme non prise en charge |
Pascal |
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 Mot Double mot Quadruple mot Paragraphe Valeur par défaut = Quadruple mot (8) |
Octet |
-fpack-struct=1 |
N/A |
Octet |
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 = |
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 =
|
Erreurs maximales |
-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 |
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 = |
-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 = |
-P |
-x c++ |
-x c++ |
-P |
-x c++ |
-x c++ |
-x c++ | ||||||
Jeu d'instructions |
80386 80486 Pentium Pentium Pro Valeur par défaut = |
80386 |
Plate-forme non prise en charge |
Plate-forme non prise en charge |
80386 |
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 = |
-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). Valeur par défaut = |
-b |
-fshort-enums |
N/A |
-b |
N/A | N/A | N/A | ||||||
Conformité du langage |
ANSI 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 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 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 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 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.
Valeur par défaut = |
ANSI |
-fno-borland-extensions |
N/A |
ANSI |
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 Explicite Toujours Valeur par défaut = Aucune |
Aucune |
Plate-forme non prise en charge |
Plate-forme non prise en charge |
Aucune |
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 = |
-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
- Avancées
- Compatibilité
- Débogage
- Répertoires et Conditions
- Optimisations
- Sortie
- En-têtes précompilés
- Avertissements
Voir aussi
- C++ (options partagées)
- BCC32, le compilateur C++ pour Windows 32 bits
- BCC64, le compilateur C++ pour Windows 64 bits
- BCCOSX, le compilateur C++ pour OS X
- BCCIOSARM, le compilateur C++ pour le périphérique iOS 32 bits
- BCCIOSARM64, le compilateur C++ pour le périphérique iOS 64 bits
- BCCAARM, le compilateur C++ pour Android