Compartilhar via


diretiva #define (constante)

Diretiva de pré-processador que atribui um nome significativo a uma constante em seu aplicativo.

#define identifiertoken-string

Parâmetros

Item Descrição
Identificador
Identificador da constante.
token-string [opcional]
Valor da constante. Esse parâmetro consiste em uma série de tokens, como palavras-chave, constantes ou instruções completas. Um ou mais caracteres de espaço em branco devem separar esse parâmetro do parâmetro identificador ; esse espaço em branco não é considerado parte do texto substituído, nem qualquer espaço em branco após o último token do texto.
Se você excluir esse parâmetro, todas as instâncias do parâmetro identifier serão removidas do arquivo de origem. O identificador permanece definido e pode ser testado usando as diretivas #if definidas, #ifdef e #ifndef.

Comentários

Todas as instâncias do parâmetro de identificador que ocorrem após a diretiva #define no arquivo de origem serão substituídas pelo valor do parâmetro token-string . O identificador é substituído somente quando forma um token; por exemplo, o identificador não será substituído se aparecer em um comentário, dentro de uma cadeia de caracteres ou como parte de um identificador mais longo.

A diretiva #undef instrui o pré-processador a esquecer a definição de um identificador; para obter mais informações, consulte Diretiva #undef (DirectX HLSL).

Definir constantes com a opção do compilador /D tem o mesmo efeito que usar a diretiva #define no início do arquivo. Até 30 constantes podem ser definidas com a opção /D. Para obter um exemplo de como isso pode ser usado, consulte a seção Exemplos de #ifdef e ).

Exemplos

O exemplo a seguir define o identificador WIDTH como a constante de inteiro 80 e define LENGTH em termos de WIDTH e a constante de inteiro 10.

#define WIDTH       80
#define LENGTH      ( WIDTH + 10 )

Cada instância subsequente de LENGTH é substituída por (WIDTH + 10) e cada instância subsequente de WIDTH + 10 é substituída pela expressão (80 + 10). Os parênteses em torno de WIDTH + 10 são importantes porque controlam a interpretação em instruções como a seguinte.

var = LENGTH * 20;

Após a fase de pré-processamento, a instrução se torna a seguinte, que é avaliada como 1.800.

var = ( 80 + 10 ) * 20;

Sem parênteses, o resultado seria o seguinte, que é avaliado como 280.

var = 80 + 10 * 20;

Diretivas de pré-processador (DirectX HLSL)

Sobrecargas de #define

Diretiva #undef (DirectX HLSL)