Partager via


Opérateurs de prétraitement d'un makefile

Les expressions de prétraitement d'un makefile peuvent utiliser des opérateurs qui agissent sur les valeurs de constante, les codes de sortie des commandes, des chaînes, des macros, et les chemins d'accès de système de fichiers.Pour évaluer l'expression, le préprocesseur développe d'abord des macros, et exécute ensuite des commandes, puis exécute les opérations.Les opérations sont évaluées dans la commande entre parenthèses, puis de regrouper explicite dans l'ordre de priorité des opérateurs.Le résultat est une valeur de constante.

L'opérateur d' DEFINED est un opérateur logique qui agit sur un nom de macro.L'expression DEFINED(nommacro) est true si nommacro est défini, même s'il n'a pas de valeur assignée.DEFINED en association avec !IF ou !ELSE IF équivaut à !IFDEF ou à !ELSE IFDEF.Toutefois, contrairement à ces directives, DEFINED peut être utilisé dans les expressions complexes.

L'opérateur d' EXIST est un opérateur logique qui agit sur un chemin de système de fichiers.EXIST(chemin d'accès) a la valeur true si chemin d'accès existe.Le résultat d' EXIST peut être utilisé dans des expressions binaires.Si chemin contient des espaces, mettez-le entre des guillemets doubles.

Pour comparer deux chaînes, utilisez l'opérateur d'égalité (==) ou l'opérateur d'inégalité (!=).Mettez les chaînes entre des guillemets doubles.

Les constantes entières peuvent utiliser des opérateurs unaires pour la négation numérique (–), un complément (~), et la négation logique (!).

Les expressions peuvent utiliser des opérateurs suivants.Les opérateurs de priorité égale sont regroupés, et les groupes sont répertoriés en ordre décroissant de priorité.Les opérateurs unaires s'associent à l'opérande droite.Opérateurs binaires des opérandes d'égalité associé de priorité de gauche à droite.

Opérateur

Description

DEFINED(nommacro)

Génère une valeur logique pour l'état actuel de définition d' nommacro.

EXIST(path)

Génère une valeur logique pour l'existence d'un fichier à chemin d'accès.

!

NOT logique unaire.

~

Unaire à un complément.

-

Négation unaire.

*

Multiplication

/

Division

%

Modulo (reste).

+

Addition

-

Soustraction

<<

Opération de bits décalage autorisé.

>>

Au niveau de le bit droite de décalage.

<=

Inférieure ou égale.

>=

Supérieure ou égale.

<

Inférieur à.

>

Supérieur à.

==

Égalité.

!=

Inégalité.

&

Opération de bits AND.

^

Opération de bits XOR.

|

Opération de bits OR.

&&

AND logique

||

OR logique

[!REMARQUE]

Au niveau de le bit l'opérateur de bits XOR (^) est le même que le caractère d'échappement, et doit être d'échappement (comme ^^) lorsqu'il est utilisé dans une expression.

Voir aussi

Concepts

Expressions utilisées dans le prétraitement d'un makefile