Page 1 sur 2 12 DernièreDernière
Résultats de 1 à 10 sur 12

Sujet : Fortran 90 est-il compatible avec F77

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    7

    Fortran 90 est-il compatible avec F77

    Bon je dois retravailler un prog F77, le seul compilateur à ma disposition est Compoaq Visual fortran. Je voulais savoir si le compilateur apréci ou pas les codes F77.

    A mon avis non. car j\'ai déjà des erreurs alors que je n\'ai encore rien modifier.



    Une autre question:
    Est ce que tous les compilateurs, compile de la meme maniere.
    idem pour la lisaison des liens.

    Merci beaucoup

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    7
    en fait, je me demande si ce n\'est pas le compilateur qui merde.

    le message d\'erreur est le suivant:
    df: error: Unknown switch: \'/ccdefault:fortran\'
    Error executing df.exe.

    Si quelqu\'un à déjà rencontrer cette erreur...

  3. #3
    Membre MP
    Inscrit
    août 2013
    Localisation
    12100
    Messages
    687
    J\'utilise le FORTRAN Microsoft 4. qui est le prédécesseur de celui de COMPAQ et je n\'ai aucun problème pour compiler du F77.
    Simplement je rajoute en début:
    $nostrict pour que les controles du F90 soient atténués et $integer:2 car dans mes programmes écrit sous F77, j\'utilise des INTEGER*2, alors que par défaut le F90 considère que les INTEGER sont en *4.
    Il me reste quelques Warning, mais ils n\'empèchent pas la création du .OBJ et ne posent pas de problème à l\'éxécution.
    Il faut aussi conserver le .FOR et ne pas le remplacer par du .F90.
    Bonne continuation
    Moby
    moby

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    7
    Salut

    Merci pour ta réponse, mais le souci persiste.
    Je ne sais pas très bien où il faut mettre ces 2 lignes, audessus de PROGRAM ou juste en dessous.
    J\'ai essayer en bas et en dessous mais ca fonctionne toujours pas.

    c\'est bien ca qu\'il faut ecrire:
    $nostrict
    $integer:2


    voici le message d\'erreur retourné:
    Compiling Fortran...
    df: error: Unknown switch: \'/ccdefault:fortran\'
    Error executing df.exe.

  5. #5
    Membre MP
    Inscrit
    août 2013
    Localisation
    12100
    Messages
    687
    Ces deux directives, je les place en début de programme: exemple
    $pagesize:65
    $title:\' bla bla bla...\'
    $nodebug
    $nostrict
    $integer:2
    program blabla

    A-tu-imprimé un listing pour être sûr de l\'instruction sur laquelle porte l\'erreur?
    A-tu_essayé de réduire ton programme à la plus simple expression qui provoque l\'erreur?
    Dans ce drnier cas mettre ce programme à ma disposition pour que j\'essaye avec mes compilateurs: celui sous DOS et celui FORTRAN FP sous Windows...
    A suivre...
    Moby
    moby

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    7
    Bon je viens d\'installé la nouvelle version du compilateur. Et ca marche un peu mieux. J\'ai au moins un listing d\'erreur qui s\'affiche.

    Si je mets tes 2 lignes, j\'ai beaucoup plus d\'erreur. J\'ai l\'impression qu\'il ne reconnait plus le type INTEGER.

    Donc sans tes deux lignes, j\'ai 5 erreurs.

    Je t\'envoi les 3 lignes qui bug ainsi que le listing d\'erreur qui va avec.

    les lignes:
    CALL open_don (UnitALir,\'ALire.txt\',\'Old\',ios)
    if (ios .NE. 0 )GOTO 99
    read (UnitAlir,\'(A16)\',iostat=erreur,err=10,end=20) Ligne

    les erreurs:
    Compiling Fortran...
    C:\\source a moi Plastirad\\PLASTI_WIN.f
    C:\\source a moi Plastirad\\PLASTI_WIN.f(9281) : Error: This name does not have a type, and must have an explicit type. [UNITALIR]
    CALL open_don (UnitALir,\'ALire.txt\',\'Old\',ios)
    -----------------------^
    C:\\source a moi Plastirad\\PLASTI_WIN.f(9283) : Error: This name does not have a type, and must have an explicit type. [ERREUR]
    read (UnitAlir,\'(A16)\',iostat=erreur,err=10,end=20) Ligne
    --------------------------------------^
    C:\\source a moi Plastirad\\PLASTI_WIN.f(9283) : Error: This name does not have a type, and must have an explicit type. [LIGNE]
    read (UnitAlir,\'(A16)\',iostat=erreur,err=10,end=20) Ligne
    ------------------------------------------------------------^
    C:\\source a moi Plastirad\\PLASTI_WIN.f(9283) : Error: This label is undefined. [10]
    read (UnitAlir,\'(A16)\',iostat=erreur,err=10,end=20) Ligne
    -------------------------------------------------^
    C:\\source a moi Plastirad\\PLASTI_WIN.f(9283) : Error: This label is undefined. [20]
    read (UnitAlir,\'(A16)\',iostat=erreur,err=10,end=20) Ligne
    --------------------------------------------------------^
    Error executing df.exe.



    A mon avis ce nouveau compilateur veut qu\'on l\'informe sur le type des variables. Est ce bien ca?
    Si c ca, quel est le type pour ces variables.

    Désolé ca fait longtemps que n\'ai pas tripoter du fortran et en plus se ne sont pas mes sources.

    En ce qui concerne l\'envoie de mes source, ca ne vas pas etre possible car elles sont confidentielles.

    Merci qd meme, et si tu te penche sur ce souci, ne te prend pas trop la tete

  7. #7
    Membre MP
    Inscrit
    août 2013
    Localisation
    12100
    Messages
    687
    j\'ai fait l\'essais, mais j\'ai été obligé de modifier ton programme car le CALL OPENn\'est pas une instruction standard de mon FORTRAN:

    Code:
    PAGE   1
    14-104
    23:57:51
         Line#  Source Line     Microsoft Fortran PowerStation Compiler. Version 4.0
         1  $pagesize:62
         2  $integer:2
         3  $nostrict
         4  $nodebug
         5  c     -------------------------------------------------------------     6  c->   Programm d\'essais   Procédure pour faire un essais
         7  c     -------------------------------------------------------------
    8             program Kess
         9        implicit integer*2 (a-z)
        10        integer*4 erreur,ios
        11        character*16 Ligne
        12        UnitALir=5
        13        OPEN(UnitALir,FILE=\'ALire.txt\',STATUS=\'OLD\',IOSTAT=ios)
        14        if(ios.ne.0) goto 99
        15        read (UnitALir,\'(A16)\',IOSTAT=erreur,ERR=10,END=20) Ligne
        16     10 continue
        17     20 continue
        18     99 continue
        19        end
    
    MAIN  Local symbols
    Name                      Class              Type           Size
    
    
    ERREUR. . . . . . . . . . local              INTEGER*4         4
    IOS . . . . . . . . . . . local              INTEGER*4         4
    LIGNE . . . . . . . . . . local              MULTI*16         16
    UNITALIR. . . . . . . . . local              INTEGER*2         2
    
    
    
    Global Symbols
    Name                      Class              Type           Size
    
    
    F90_ENDREAD . . . . . . . extern             INTEGER*0       ***
    F90_OPEN. . . . . . . . . extern             INTEGER*0       ***
    F90_READ. . . . . . . . . extern             INTEGER*0       ***
    MAIN. . . . . . . . . . . FUNCT              ***             ***
    READ_CH . . . . . . . . . extern             INTEGER*0       ***
    
    
    No errors detected
    moby

  8. #8
    Membre MP
    Inscrit
    août 2013
    Messages
    7
    Merci pour cette réponse ultra complete

    C pas souvent que l\'on trouve des gens prêt à perdre du temps pour les autres. Et en plus le message est super précis.


    Bon, ca y est j\'ai réussi à supprimer ces quelques bugs.

    Pour info: chez moi je n\'est pas besoin de mettre les lignes avant PROGRAM, sinon ca plante.


    En tout cas encore merci

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    7
    Et merde,
    encore un probleme

    trop de ligne pour l\'executable

    voici le message d\'erreur:
    Debug/PLASTI_WIN.exe : warning LNK4084: total image size 287191040 exceeds max (268435456); image may not run

  10. #10
    Membre MP
    Inscrit
    août 2013
    Messages
    7
    Désolé pour le dernier message,

    Ca marche quand meme.

Page 1 sur 2 12 DernièreDernière

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé