Partilhar via


2.1 Formato de diretiva

A sintaxe de uma diretiva OpenMP formalmente é especificada pela gramática no Apêndice Ce informalmente da seguinte maneira:

#pragma omp directive-name  [clause[ [,] clause]...] new-line

Cada diretiva começa com # pragma omp, para reduzir o potencial de conflito com outras diretivas de pragma (não OpenMP ou fornecedor extensões OpenMP) com os mesmos nomes. O restante da diretiva segue as convenções dos padrões para diretivas de compilador c e C++. Em particular, o espaço em branco pode ser usado antes e depois o #, e, às vezes, o espaço em branco deve ser usado para separar as palavras em uma diretiva. Pré-processamento tokens seguindo o # pragma omp estão sujeitas a substituição de macro.

As diretivas são diferencia maiúsculas de minúsculas. A ordem na qual as cláusulas aparecem em diretivas não é significativa. Cláusulas de diretivas podem ser repetidas conforme necessário, sujeito às restrições listadas na descrição de cada cláusula. Se variável-list aparece em uma cláusula, ele deve especificar somente variáveis. Apenas um nome de diretiva podem ser especificados por diretiva. Por exemplo, a seguinte diretiva não é permitida:

/* ERROR - multiple directive names not allowed */
#pragma omp parallel barrier

Uma diretiva OpenMP se aplica a no máximo um subseqüente instrução, que deve ser um bloco estruturado.