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

Administration système Discussion :

gestion de la mémoire


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Par défaut gestion de la mémoire
    Bonjour,
    je souhaite récuperer quelques valeurs de mon programme en C qui tourne sous Ubuntu.
    Ce que je veux, c'est m'en resservir plus tard, lors d'une autre application(enfin dès que je coupe le programme et que je le rallume).
    Je voudrais faire une sorte d'enregistrement dans un fichier texte, mais l'ouverture et l'ecriture dans un fichier est trop long pour ce que je veux faire.
    Quelqu'un a une idée pour savoir commet je dois proceder?

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    Citation Envoyé par Sylar44 Voir le message
    Bonjour,
    je souhaite récuperer quelques valeurs de mon programme en C qui tourne sous Ubuntu.
    Ce que je veux, c'est m'en resservir plus tard, lors d'une autre application(enfin dès que je coupe le programme et que je le rallume).
    Je voudrais faire une sorte d'enregistrement dans un fichier texte, mais l'ouverture et l'ecriture dans un fichier est trop long pour ce que je veux faire.
    Quelqu'un a une idée pour savoir commet je dois proceder?

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Par défaut
    oui ca vous parait bizarre aussi
    autant enregistrer ces valeurs en cas d'erreurs ou en cas de fermeture, c'est ce qu'il y a de mieux dans la limite du possible non?

  4. #4
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Que sont ces valeurs ?

    Des variables représentant l'état du programme ?
    Un dump mémoire ?
    Autres choses ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Par défaut
    oui c'est ca des valeurs qui représente l'état du programme mais aussi de l'automate associé.

  6. #6
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Tu as donc une structure que tu peux sauver en l'écrivant dans un fichier de conf (binaire, texte, xml, etc...). Ce fichier sera rechargé au démarrage de ton appli.

    C'est le même principe d'une sauvegarde de jeux que tu veux ?

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    shmget() devrait faire l'affaire ;-)

  8. #8
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    La mémoire partagée est une assez bonne idée, mais si la machine crash, on a tout perdu.
    Il faudrait donc encore une fois l'écrire sur le disque (besoin de mutex etc...).

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Je suis d'accord sur ce point.

    En ce qui concerne l'écriture sur disque, l'application elle même écrit dans des tampons en mémoire et à moins que ce ne soit précisé, les écritures ne sont pas synchrones.
    Donc écrire dans un fichier, sur un UNIX, revient à écrire dans un tampon en mémoire.

    Certe, pour des volumes important (comme pour une base de données), le flush des tampons sur disque peut rallentir le système. Mais c'est là une autre problématique.

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Par défaut
    je ne vois pas trop à quoi peut servir les fflush

    Par contre je ne vois pas l'interet de me servir de threads, j'utilise déjà un compteur, une sorte de rdtsc si vous connaissez et qui est assez précis, donc autant faire l'appel à la fonction d'écriture dans un fichier plutot que de me servir de threads.

  11. #11
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    On a pas parlé de fflush, mais du flush des buffers disque (via l'appel système sync cf man 2 sync).

    L'intérêt des threads c'est de ne pas bloquer ton application durant l'écriture sur disque, ce qui semblait être ta préoccupation principale.

Discussions similaires

  1. Réponses: 17
    Dernier message: 02/02/2006, 12h03
  2. gestion de la mémoire
    Par moldavi dans le forum C++
    Réponses: 17
    Dernier message: 04/02/2005, 23h18
  3. Réponses: 11
    Dernier message: 26/12/2004, 22h50
  4. Gestion de la mémoire entre plusieurs DLL
    Par Laurent Gomila dans le forum C++
    Réponses: 7
    Dernier message: 27/07/2004, 15h28
  5. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44

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