Partilhar via


Operadores de pré-processamento de makefile

As expressões de pré-processamento de Makefile pode usar os operadores que atuam em valores constantes, em códigos de saída de comandos, em cadeias de caracteres, macros em, e em caminhos de sistema de arquivos.Para classificar uma expressão, o pré-processador expande primeiro macros e em seguida, executar comandos em seguida, executa operações.Operações são avaliadas na ordem de agrupamento explícito entre parênteses, e na ordem de precedência de operadores.O resultado é um valor constante.

O operador de DEFINED é um operador lógico que atue em um nome de macro.A expressão DEFINED(macroname) é verdadeira se macroname é definido, mesmo se não tem um valor atribuído.DEFINED em combinação com !IF ou !ELSE IF é equivalente a !IFDEF ou a !ELSE IFDEF.No entanto, diferentemente destas políticas, DEFINED pode ser usado em expressões complexas.

O operador de EXIST é um operador lógico que atue em um caminho sistema de arquivos.EXIST(caminho) é verdadeiro se caminho existe.O resultado de EXIST pode ser usado em expressões binários.Se caminho contiver espaços, colocá-lo entre aspas duplas.

Para comparar duas cadeias de caracteres, use o operador de igualdade () ou==o operador de!=(desigualdade).Incluir cadeias de caracteres entre aspas duplas.

As constantes inteiro pode usar os operadores unários para a negação numérica (–), o seu~complementar (), e negação lógica (!).

As expressões podem usar os seguintes operadores.Operadores de precedência igual são agrupados juntos, e os grupos são listados em ordem decrescente de precedência.Os operadores unários associação com o operando à direita.Operadores binários de operandos iguais o associado de precedência da esquerda para a direita.

Operator

Descrição

DEFINED(macroname)

Gera um valor lógico para o estado atual da definição de macroname.

EXIST(caminho)

Gera um valor lógico para a existência de um arquivo em caminho.

!

Lógico unário NÃO.

~

Unário o complemento.

-

Negação unário.

*

Multiplicação.

/

Divisão.

%

Módulo restante ().

+

Adição.

-

Subtração.

<<

Bit a bit SHIFT deixada.

>>

Direito de bit a bit SHIFT.

<=

Menor que ou igual.

>=

Maior que ou igual.

<

Menor que.

>

Maior do que.

==

Igualdade

!=

Desigualdade.

&

Bit a bit.

^

XOR bit a bit.

|

OU bit a bit.

&&

A lógica AND.

||

Lógica OU.

ObservaçãoObservação

O operador bit a bit XOR (^) é o mesmo que o caractere de escape, e deve ser escapado (como ^^) quando é usado em uma expressão.

Consulte também

Conceitos

Expressões no Makefile pré-processamento