#define directive (constante)
Directive de préprocesseur qui attribue un nom explicite à une constante dans votre application.
#define identifiertoken-string |
---|
Paramètres
Élément | Description |
---|---|
Identificateur |
Identificateur de la constante. |
token-string [facultatif] |
Valeur de la constante. Ce paramètre se compose d’une série de jetons, tels que des mots clés, des constantes ou des instructions complètes. Un ou plusieurs caractères d’espace blanc doivent séparer ce paramètre du paramètre d’identificateur ; cet espace blanc n’est pas considéré comme faisant partie du texte substitué, ni aucun espace blanc après le dernier jeton du texte. Si vous excluez ce paramètre, toutes les instances du paramètre d’identificateur sont supprimées du fichier source. L’identificateur reste défini et peut être testé à l’aide des directives #if définies, #ifdef et #ifndef. |
Notes
Toutes les instances du paramètre d’identificateur qui se produisent après la directive #define dans le fichier source seront remplacées par la valeur du paramètre token-string . L’identificateur n’est remplacé que lorsqu’il forme un jeton ; par exemple, l’identificateur n’est pas remplacé s’il apparaît dans un commentaire, dans une chaîne ou dans le cadre d’un identificateur plus long.
La directive #undef demande au préprocesseur d’oublier la définition d’un identificateur ; Pour plus d’informations, consultez directive #undef (DirectX HLSL).
La définition de constantes avec l’option du compilateur /D a le même effet que l’utilisation de la directive #define au début de votre fichier. Jusqu’à 30 constantes peuvent être définies avec l’option /D. Pour obtenir un exemple d’utilisation, consultez la section Exemples de #ifdef et ).
Exemples
L’exemple suivant définit l’identificateur WIDTH comme constante entière 80, puis définit LENGTH en termes de WIDTH et de constante entière 10.
#define WIDTH 80
#define LENGTH ( WIDTH + 10 )
Chaque instance suivante de LENGTH est remplacée par (WIDTH + 10), et chaque instance suivante de WIDTH + 10 est remplacée par l’expression (80 + 10). Les parenthèses autour de WIDTH + 10 sont importantes, car elles contrôlent l’interprétation dans les instructions telles que les suivantes.
var = LENGTH * 20;
Après l’étape de prétraitement, l’instruction devient la suivante, qui est évaluée à 1 800.
var = ( 80 + 10 ) * 20;
Sans parenthèses, le résultat serait le suivant, qui s’évalue à 280.
var = 80 + 10 * 20;