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

C++ Discussion :

Mémoire RAM disponible du PC


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Par défaut Mémoire RAM disponible du PC
    Bonjour,

    En fait, je dois faire un programme en C++ qui prend de la mémoire RAM avec malloc pour ensuite laisser peu de mémoire pour pouvoir tester d'autres programmes. Pour se faire j'ai besoin dans un premier temps de savoir la mémoire RAM disponible (non utilisé) du PC.

    Pouvez vous m'indiquer une fonction qui permet donc de savoir la mémoire disponible du PC. J'ai cherché du côté de Heap etc... c'est ce qu'on m'a conseillé mais je n'ai rien trouvé.

    Je vous remercie par avance,

    A+

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Salut ce genre de question ça dépend de l'OS.
    Et il me semble que c'est un sujet abordé.
    Il doit y avoir peut-être quelques fonctions du C standard certains répondront mieux que moi mais je doute que tu aies quelque chose en standard..
    Sous Turbo C tu as coreleft()
    Sous Windows les API Windows

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Moi pour une application comme ça, j'ai aussi pensé au système inverse (bon, je ne sais pas si c'est possible). Mais dans le genre, on dit au système que une application X, ne devra pas prendre plus de 40Mo (par exemple). Ou alors, comme si on exécutait l'application dans une boite.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Par défaut
    Bonjour,

    En fait, c'est sous windows XP. Mais quelle API windows permet de faire ce que je veux faire. J'ai pas mal cherché sur Internet et je n'ai pas trouvé de solutions.

    Quelqu'un a une solution?

    Je vous remercie par avance,

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Je viens tout juste de penser que au final, même si allouez toute la mémoire vive, le système (ni même les applications) ne crasheront, car le système utilisera le swap.
    Il faudra donc aussi à penser à enlever le swap.

    Du coup, si on alloue toute la mémoire, avec l'application idiote et naïve que l'on pense, on risque de faire crasher par que l'application à tester, mais aussi les autres applications (et possiblement le système).

    En conclusion, il me semble clairement plus efficace de lancer l'application à tester dans une sorte de boite (sandbox).

    Alors, dans les solutions que je vois, il y a:
    - On développe un module / code afin de remplacer les malloc / realloc / free au sein même de l'application (donc un code, pour le mode débug/test).
    - On fait une sorte de hook (remplacement de la DLL (que pour cette application)) pour la redéfinition des malloc / realloc / free.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Pourquoi ne pas utiliser une WM avec une mémoire limité?

Discussions similaires

  1. Problème de la mèmoire RAM
    Par mhamedbj dans le forum Windows XP
    Réponses: 9
    Dernier message: 03/06/2007, 18h55
  2. Détecter mémoire RAM
    Par MYster dans le forum Langage
    Réponses: 1
    Dernier message: 09/07/2006, 12h35
  3. Choix de mémoire RAM DDR 1Go
    Par Pragmateek dans le forum Composants
    Réponses: 20
    Dernier message: 18/04/2006, 14h10
  4. [CR][paradox] mémoire partagée disponible insuffisante !
    Par AGT dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 24/03/2004, 14h27

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