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 :

[F77] Lecture / Ecriture compatibilité entre compilateurs


Sujet :

Fortran

  1. #1
    Membre régulier Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 108
    Points
    108
    Par défaut [F77] Lecture / Ecriture compatibilité entre compilateurs
    Bonjour,
    Cette question est une question générale.
    Il m'est arrivé plusieurs fois, lors de différents projets, de compiler du code en F77 qui lit des paramètres dans un fichier texte.
    Pour des raisons x ou y, ces codes étaient compilés avec plusieurs compilateurs, ou bien avec différentes versions du compilateur. A la compilation, il n'y avait pas de problème et différents exécutables étaient créés correspondant à un même code source mais à plusieurs compilateurs.
    Par contre, lors de la lecture de fichiers, les exécutables ne se conduisent pas de la même manière refuse de prendre en compte certains formats, espaces, fin de ligne,...
    Au vu des messages postés sur le forum, je sais que je ne suis pas la seule à laquelle ce genre de mésaventure est arrivées, et on trouve des réponses plus ou moins au cas par cas par compilateur.

    Ma question est la suivante:
    Il y a t'il des astuces, normes,... pour rendre la lecture des fichiers la plus portable possible ?

    - Dans la forme des fichiers à lire quand on a le choix (formaté, non formaté, tabulation, espace, un paramètre par ligne,...)
    - Dans les formats de lecture/écriture utilisés
    - Dans la façon de lire (passage par une chaîne de caractères intermédiaire,...)

    Merci d'avance
    Cordialement

  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
    Points : 1 346
    Points
    1 346
    Par défaut
    J'ai souvent travaillé avec plusieurs compilateurs de front, surtout pour m'assurer de la robustesse de mes programmes.

    Voici donc mes pistes pour les lectures / écritures :

    • Je n'utilise jamais le format libre (*). Ce dernier est décrit formellement dans la norme comme ayant un comportement qui dépend du compilateur.
    • Le non formaté séquentiel (sequential unformatted Fortran et non le binaire en général) est par définition non portable.
    • Les formats classiques (i,f,g,...) sont de moins en moins utiles car les données viennent de plus en plus sous forme CSV, XML,...
    • J'utilise de plus en plus le passage par une chaîne de caractères que je décode par des routines. Le code est plus long mais beaucoup plus robuste et portable.
    • Je n'utilise jamais d'extension (formats $, <n>, ...).
    • Pour les paramètres, je privilégie maintenant des fichiers contenant des expressions de type Nom du paramètre = Valeur faciles à maintenir par éditeur de texte par l'utilisateur.

  3. #3
    Membre régulier Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    - Je ne peux qu'acquiescer à vos méthodes.
    - De prime abord j'étais particulièrement d'accord avec celle-ci :
    J'utilise de plus en plus le passage par une chaîne de caractères que je décode par des routines. Le code est plus long mais beaucoup plus robuste et portable.
    Et finalement sur le cas qui m’intéresse en ce moment je vois que même en utilisant des routines qui vont repérer les espaces, tabulations,... on pouvait avoir des surprises (la méthode qui m’intéresse en ce moment, n'arrive plus à trouver les tabulations).
    Du coup la question d'un autre poste sera comment gérer les tabulations de la manière la plus portable possible...

Discussions similaires

  1. lecture/ecriture des broches RTS/CTS du port RS232
    Par .:: sly51 ::. dans le forum C
    Réponses: 3
    Dernier message: 24/10/2006, 15h28
  2. [FB] Compatibilité entre deux logiciels et le SGBD
    Par Benjamin GAGNEUX dans le forum Débuter
    Réponses: 13
    Dernier message: 28/01/2005, 16h30
  3. Problèmes de compatibilité entre sdk 9.0c et geforce 2/4
    Par Francky033 dans le forum DirectX
    Réponses: 2
    Dernier message: 01/10/2004, 14h22
  4. compatibilité entre sql server 7 et analysis service sql2000
    Par jeremie dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/03/2004, 15h08
  5. compatibilite entre omondo et cvs
    Par ed_hunter dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/11/2003, 16h06

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