IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Existe-t- il en Fortran 77 l'équivalence des #ifdef, #undef, #define du C ?


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut Existe-t- il en Fortran 77 l'équivalence des #ifdef, #undef, #define du C ?
    Bonjour,

    Existe - t - il en Fortran 77 l'équivalence des #ifdef, #undef, #define du C?

    merci...

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Il est possible de faire tourner le preprocesseur C (cpp) sur des fichiers sources Fortran avant de les envoyer au compilateur Fortran.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    je suis sincèrement désolée, mais je ne comprends pas ta réponse...

  4. #4
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Ok. En C, les mot-cles commencant par # sont des directives pre-processeur. Elles sont analysees par un executable special, appele cpp pour C pre-processor. Une fois l'analyse terminee, le fichier resultat est envoye au compilateur C. L'idee est de faire pareil, mais avec un fichier Fortran.
    Disons que tu as, par exemple, le fichier Fortran suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          program toto
          implicit none
    #if 0
          write(6,'(a)') 'Hello !'
    #else
          write(6,'(a)') 'World !'
    #endif
          end
    On lui applique cpp (j'utilise la version GNU, donc il faut lui dire de ne pas formatter le fichier sortie au format "gcc", option -P)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cpp -P toto.f > toto_cpp.f
    Je verifie que toto_cpp.f contient bien ce que je souhaite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          program toto
          implicit none
     
     
     
          write(6,('a)') 'World !'
     
          end
    Je n'ai plus qu'a compiler...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ifort toto.f -o toto
    et ca fonctionne...
    Evidemment, on peut automatiser tout cela dans un Makefile.

    Attention, rigoureusement parlant, cela reste de l'abus du pre-processeur C. Mais pour tout ce qui est compilation conditionnelle, c'est parfait. Evidemment, il est preferable d'eviter de faire des #include des en-tetes standard du C, et d'utiliser des valeurs qui ont ete #define'd...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    merci beaucoup, c'est plus clair!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/01/2009, 16h48
  2. Réponses: 10
    Dernier message: 13/10/2008, 11h20
  3. [Fortran 77] Importer et exporter des valeurs d'Excel
    Par arnaudsn dans le forum Fortran
    Réponses: 4
    Dernier message: 21/04/2008, 10h20
  4. Réponses: 4
    Dernier message: 30/03/2007, 10h13
  5. Réponses: 2
    Dernier message: 06/09/2006, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo