#pragma option

De RAD Studio
Aller à : navigation, rechercher

Remonter à Présentation des directives pragma - Index

Syntaxe (Voir Pseudo-grammaire)

#pragma option OPT [ OPT ... ]
#pragma option push OPT [ OPT ... ]
#pragma option pop
#pragma nopushoptwarn

Description

Utilisez #pragma option pour inclure des options de la ligne de commande dans le code de votre programme. #pragma option peut aussi être utilisée avec les arguments push ou pop.

#pragma option OPT [ OPT ... ]

OPT sont les options de la ligne de commande (à l'exception de celles énumérées ci-dessous). Une directive peut contenir un nombre quelconque d'options. Les deux exemples suivants sont corrects :

#pragma option -C
#pragma option -C -A

Les options qui fonctionnent en bascule (par exemple -a ou -K) peuvent être activées et désactivées exactement comme au niveau de la ligne de commande. Elles peuvent en outre apparaître suivies d'un point afin de restaurer l'option dans l'état qu'elle avait dans la ligne de commande, dans le fichier de configuration ou dans l'option de menu. Cela permet de modifier temporairement une option et revenir ensuite à sa valeur par défaut sans que vous ayez à vous rappeler (ni même à connaître) celle-ci.

Les options suivantes ne peuvent pas apparaître dans pragma option :

B
c
dnom
Dnom=chaîne
enomfichier
E
Fx
h
Inomfichier
lexset
M
o
P
Q
S
T
Unom
V
X
Y

Les instructions #pragmas, #includes, #define, et certaines instructions #if, peuvent être utilisées dans les cas suivants :

  • Avant l'utilisation d'un nom de macro commençant par deux caractères de soulignement (éventuellement une macro intégrée) dans une directive #if, #ifdef, #ifndef ou #elif.
  • Avant l'occurrence du premier élément réel du langage (la première déclaration C ou C++).

Certaines options de ligne de commande ne peuvent apparaître que dans une commande #pragma option précédant ces événements. Ces options sont :

Enomfichier
f
i#
m*
nchemin
onomfichier
U
W
z


Les autres options peuvent être modifiées n'importe où. Les options suivantes ne vont affecter le compilateur que si elles sont modifiées entre les déclarations de fonctions ou d'objets :

1
h
r
2
k
rd
A
N
v
Ff
O
y
G
p
Z


Les options suivantes sont modifiables à tout moment et prennent effet immédiatement :

A
gn
zE
b
jn
zF
C
K
zH
d
wxxx


Les options peuvent être suivies d'un point (.) pour restaurer l'état de la ligne de commande.

#pragma option push OPT [ OPT ... ] et #pragma option pop

La directive #pragma option peut aussi être utilisée avec les arguments push et pop pour faciliter la modification des directives de compilation.

Vous pouvez utiliser #pragma option push pour enregistrer la totalité ou un ensemble spécifié d'options avant d'inclure des fichiers pouvant modifier de nombreux avertissements et options de compilation, puis, avec la seule instruction #pragma option pop, revenir à l'état précédent. Par exemple :

#pragma option push
#include <theworld.h>
#pragma option pop
#include "mystuff.h"

La directive #pragma option push place dans un premier temps toutes les options de compilation et les paramètres d'avertissement sur une pile puis traite les options (éventuellement fournies). Les exemples suivants illustrent l'utilisation de #pragma option push avec ou sans options :

#pragma option push -C -A
#pragma option push

La directive #pragma option pop modifie les avertissements et les options de compilation en retirant de la pile le dernier ensemble d'options et d'avertissements. Cela génère un avertissement, "Pragma option pop sans option push correspondante" si la pile est vide, auquel cas rien ne se produit.

Le texte suivant génère un avertissement signalant une pile vide :

#pragma option push
#pragma option pop
#pragma option pop      /* Avertissement */

Bien que cela ne soit pas recommandé, vous pouvez désactiver cet avertissement avec la directive : #pragma warn -nop.

Si vous tentez de spécifier des options après pop, vous obtenez le message d'erreur "Rien d'autorisé après pragma option pop". Par exemple, le texte suivant génère un message d'erreur :

#pragma option pop -C/* ERREUR */

Si votre pile d'options poussées n'est pas la même au début et à la fin d'un fichier, vous obtenez l'avertissement : "Options et avertissements précédents non restaurés". Pour désactiver cet avertissement, utilisez la directive #pragma nopushoptwarn.