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 :

compilation conditionnelle (fortran77)


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 76
    Par défaut compilation conditionnelle (fortran77)
    Bonjour,
    Y-a-t'il la possibilité de faire des compilations conditionnelles en fortran 77 ? (comme en C avec des #ifdef )
    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Oui c'est possible, mais ça ne fait pas partie du langage. Le gens utilisent généralement un préprocesseur C. Plusieurs compilateurs ont une switch qui permet d'invoquer le préprocesseur (tu dois lire le manuel). Sinon, tu dois le faire toi même (tu passe la source dans le préprocesseur, puis tu passe le résultat dans le compilateur...)

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 76
    Par défaut
    Merci bien, je suis actuellement dessus.
    Du coup je pense séparer -comme tu le proposes- dans mon makefile la partie préprocesseur du reste de la compilation. (j'utilise gfortran, et je compte utiliser le préprocesseur de gcc).

    Par contre j'ai un os (et je ne sais pas trop où poser des questions sur les Makefiles pour fortran, j'ai le tuto développez.com du makefile sous les yeux -suis pas fortiche en makefile-, et ai déjà posé ma question ici).

    Voici mon Makefile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    FC = gfortran
    FFLAGS = -g -Wall
    PPCFLAGS =  -DDEBUG
    EXEC =  test
    # Plusieurs objets en général
    OBJS =  test.o
    PPC= $(OBJS:.o=.i)
     
    all : $(EXEC)
     
    #lien
    $(EXEC) : $(OBJS)
    	$(FC) $(OBJS) -o $@ $(LDFLAGS) 
     
     
    #construction des .o
    %.o: %.i
    	$(FC) $(FFLAGS) -c $<
     
    #utilisation du préprocesseur
    %.i: %.F
    	$(FC) $(PCCFLAGS) -o $@ -E $<
     
    clean :
    	rm -f $(OBJS) $(PPC)
     
    cleanall :
    	rm -f $(EXEC) $(OBJS) $(PPC)
    et d'après mon résultat, mon .o est directement généré à partir de mon .F .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    make clean all -f MakefileFortran 
    rm -f test.o test.i
    gfortran -g -Wall   -c -o test.o test.F
    gfortran test.o -o test
    Vous avez une idée ?
    Merci beaucoup !

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Comme tu utilises gfortran, voici la page de documentation traitant de l'invocation du préprocesseur : http://gcc.gnu.org/onlinedocs/gcc-4....essing-Options

Discussions similaires

  1. Compilation conditionnelle
    Par srvremi dans le forum Langage
    Réponses: 10
    Dernier message: 23/02/2006, 18h51
  2. Compilation conditionnelle
    Par owsion dans le forum Langage
    Réponses: 6
    Dernier message: 25/10/2005, 17h15
  3. [LG] Compilation conditionnelle et multiples unités
    Par Alcatîz dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2005, 08h58
  4. syntaxe pour compilation conditionnelle ?
    Par tintin72 dans le forum C
    Réponses: 9
    Dernier message: 17/05/2005, 18h12
  5. [CODE] Compilation conditionnelle ?
    Par Cornell dans le forum Langage
    Réponses: 3
    Dernier message: 16/09/2003, 18h16

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