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 :

gfortran : CHARACTER dans REAL ?


Sujet :

Fortran

  1. #1
    Candidat au Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut gfortran : CHARACTER dans REAL ?
    Bonjour,

    Je débute avec le compilateur gfortran.

    J'essaie de compiler le programme suivant (Fortran 77) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
           PROGRAM TEST
           REAL*8 VAL
    C
           VAL = 'Hello !!'
           WRITE (6,1000) VAL
     1000  FORMAT(' My message : ', A8)
    C
           STOP
           END
    Avec d'anciens compilateurs (Digital Visual Fortran, par exemple) : pas de souci. Tout fonctionne à merveille.
    Avec le gfortran, je reçois le message d'erreur suivant :
    Error: Can't convert CHARACTER(1) to REAL(8)
    Existe-t-il une option du compilateur qui permet d'affecter automatiquement des CHARACTER à des REAL ?

    Merci,
    Lyk

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour

    Citation Envoyé par Lyk-- Voir le message
    Avec d'anciens compilateurs (Digital Visual Fortran, par exemple) : pas de souci. Tout fonctionne à merveille.
    Tout fonctionne à merveille?

    Si on laisse une voiture sans essence ni moteur dévaler une pente, on constate qu'elle se déplace; doit-on pour autant en conclure qu'elle fonctionne à merveille?

    Pour en revenir à ta question initiale, non il n'y a pas moyen d'obliger gfortran à "mettre sous le tapis" des erreurs qu'il détecte dans le code à compiler; Il faut simplement les corriger.
    Et c'est bien plus sain comme ça.

    Bonne continuation.

  3. #3
    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
    Points : 1 346
    Points
    1 346
    Par défaut
    Ton programme utilise une stratégie Fortran IV (ou 66) et non 77.

    Le type de donnée CHARACTER n'existait pas à l'époque. Pour imprimer des chaines de caractères, il fallait donc les assigner à des variables numériques. Ce type d'assignation ne fait plus partie du langage. Comme les anciens programmes sont ainsi codés, certains compilateurs commerciaux supportent encore ces constructions. Ce n'est pas le cas de gfortran car ce dernier supporte très peu de ces constructions historiques.

    Pour corriger, tu peux changer le type de VAL pour CHARACTER (8). Tu peux aussi corriger partiellement seulement en ne changeant pas le type, mais en utilisant la fonction transfer pour l'assignation VAL = TRANSFER('Hello !!',VAL).

Discussions similaires

  1. Services scheduler et engine "grisés" dans real-time administrator
    Par orchestra dans le forum OTIC (ex-Genio)
    Réponses: 0
    Dernier message: 30/06/2015, 09h34
  2. [11gR2] 98% de consommation CPU pour un full scan dans real-time monitoring
    Par zidane2012 dans le forum Oracle
    Réponses: 7
    Dernier message: 12/05/2014, 11h41
  3. [Batch] Comment remplacer le character = dans un script batch ms dos ?
    Par Battosaiii dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 18/05/2010, 20h23
  4. Comment mettre dans un 'CHARACTER' un entier signé
    Par Kaeguri dans le forum Fortran
    Réponses: 2
    Dernier message: 16/04/2007, 17h11
  5. Réponses: 22
    Dernier message: 14/04/2006, 17h01

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