2011-06-14 6 views
1
  1. Je me demandais comment les directives OpenMP sont gérées par le compilateur, tels que gcc?
  2. Par exemple, dans ce codeComment est des directives OpenMP traitées par le compilateur

    int main(int argc, char *argv[]) 
    { 
        #pragma omp parallel 
        printf("Hello, world.\n"); 
        return 0; 
    } 
    

    -t-préprocesseur de gcc modifier le code C en remplaçant la directive OpenMP avec un autre code?

    Quel est le code après de prétraitement et juste avant d'être assemblé?

Merci pour votre intérêt!

Répondre

1

Je ne sais pas de première main, mais il est très peu probable que GCC (ou tout compilateur) sera prétraiter le code lorsqu'il rencontre ces pragmas. Très probablement, GCC va juste marquer ce bloc en interne et ensuite générer le code natif approprié. Il n'y a pas de code C++ intermédiaire.

+0

Merci! Notez que seul le code C n'est pas C++ ici. Par code natif, voulez-vous dire code machine binaire dans l'ensemble d'instructions de la CPU? – Tim

+0

@Tim. Oui, c'est ce que je voulais dire. –

Questions connexes