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 :

Comment libérer la mémoire tampon


Sujet :

Fortran

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment libérer la mémoire tampon
    Bonjour!

    Je travaille sous linux Mandriva 2007, j'ai un probléme

    pour libérez la mémoire tampon, je travaille en langage fortran.

    Merci ! pour tous ce que vous ferez

  2. #2
    Membre éprouvé
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Points : 982
    Points
    982
    Par défaut
    Est ce que ton problème est par exemple de vider le tampon dans un fichier ? Il faudrait que tu précises un peu.

    Par exemple tu demandes à un programme d'écrire dans un fichier mais lui il n'écrit que quand le tampon est plein donc il n'écrit pas à chaque appel de write.

    Si tu fais un

    call flush (numero logique de ton fichier)

    ça oblige le programme à écrire le tampon dans le fichier mais je ne sais pas si ça le libère.

    Pour économiser de la mémoire il faut utiliser les allocations dynamiques des tableaux avec allocate !

  3. #3
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    c'est super floue comme question, la mémoire tampon y en a un peu de partout, du coup si tu veux la libéré faut commencer par savoi où et qui l'a emprisonnée (dsl je délire tout seul)

    la fonction flush est une extension de norme, il me semble qu'elle n'est pas dispo sur tout les compilo, et il y a en plus de cela des variable d'environnement qui détermine la taille des tampon, mais pareil, elles dépendent du compilo...

  4. #4
    Membre éprouvé
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Points : 982
    Points
    982
    Par défaut
    Citation Envoyé par xmeszeus
    Bonjour!

    En fait je travaille sur mon projet de mémoire.

    Une simulation numérique de l'équation de la chaleur

    Le est que lorsque j'affiche le tracé de la solution

    ce dernier est complétement déformé. J'en ai fais part

    à mon encadreur, et il m'a dit que :" il faut forcer le programme à vider le buffer d'ecriture dans le fichier ..." . Je travaille sous linux mandriva et je code

    en fortran .

    Merci!!
    call flush vide justement le buffer. En fait si tu fais une grosse simulation, pour des économiser du temps CPU on attend que le buffer soit plein pour l'écrire dans un fichier donc on écrit moins souvent et ça va plus vite. Si tu veux forcer ton programme à écrire plus souvent il faut que tu fasse un

    call flush ( numéro du fichier)

    Mais lorsque le programme est terminé le buffer est automatiquement vidé donc le contenu de ton fichier devrait être identique ! Donc l'erreur ou le problème est peut être ailleurs.

    D'autre part comme te l'a dis genteur call flush va dépendre de ton systeme et de ton compilateur. Chez moi avec gfortran et linux(ubuntu ou fedora) ça marche ...

  5. #5
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    la déformation peut égalment venir nom pas du buffer mais du format de sortie.

    peux-tu nous dire si ton fichier de sortie est binaire ou ASCII, comment il est écrit... etc... peut-être que tu n'écrit pas correctement dans le fichier et du coup cela fait foirer l'affichage et le traçcage ensuite...

    (moi g mis trois mois à voir que je demandais de traces des tableaux NxM alors qu'ils étais (N+1)x(M+1) du coup cela décallait les résultats et déformais ma solution, ce n'était pa trop visible au début car N et M étaient tres grand)

Discussions similaires

  1. Table de hashage: Comment libérer la mémoire
    Par jujudelyon dans le forum Débuter
    Réponses: 3
    Dernier message: 05/02/2014, 20h27
  2. Comment libérer la mémoire allouée au OleVariant ?
    Par LeBigornot dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 10/01/2010, 09h11
  3. Comment libérer la mémoire alloué a un objet ?
    Par techz dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 26/08/2009, 08h44
  4. Comment définir la mémoire tampon du Ctrl+C
    Par budhax dans le forum Windows
    Réponses: 1
    Dernier message: 19/01/2009, 03h27
  5. Comment libérer la mémoire d'un TList ?
    Par Tchaill39 dans le forum Langage
    Réponses: 8
    Dernier message: 16/11/2005, 17h53

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