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 :

Plantage de la machine après exécution de mon programme


Sujet :

C

  1. #1
    Invité
    Invité(e)
    Par défaut Plantage de la machine après exécution de mon programme
    Bonjour à tous!
    J'ai exécuté le programme suivant sur un PC tournant avec 1 GO de RAM sous Windows et j'ai eu droit a un beau plantage de la machine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include <stdlib.h>
     
    int main( void) {
        malloc( 1500000000L);
        return (0);
    }
    Je voulais savoir si c'était normal et est-ce que le plantage seras présent sur d'autres OS.
    Et si possible une fonction C permettant de connaitre la taille de la RAM présente sur la machine hôte ( RAM total et disponible).
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Quand tu dis plantage, c'est un ralentissement de la machine, ou un message explicite ?

    As-tu essayé avec calloc ? Il semblerait qu'il y est une histoire de lazy evaluation... faudrait chercher de ce côté du moins.

    EDIT: Essayes d'utiliser errno pour savoir quel type d'erreur on a à faire.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Invité
    Invité(e)
    Par défaut ___
    Citation Envoyé par fred1599 Voir le message
    Quand tu dis plantage, c'est un ralentissement de la machine, ou un message explicite ?

    As-tu essayé avec calloc ? Il semblerait qu'il y est une histoire de lazy evaluation... faudrait chercher de ce côté du moins.

    EDIT: Essayes d'utiliser errno pour savoir quel type d'erreur on a à faire.
    Il s'agit d'un ralentissement.
    Plus rien ne bouge Freeze totale.

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    As-tu essayé avec calloc, pour voir si le phénomène persiste ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Peut être car le système est parti dans le fichier d'échange (swap). Veuillez ouvrir le gestionnaire de tâches et vérifier l'évolution de l'utilisation de la RAM.
    On peut obtenir l'espace RAM libre, mais la méthode est différente pour chaque système d'exploitation (utilisation de la WinAPI sous Windows).
    Le malloc ainsi, sous Linux ne devrait pas planté ni rien, car il va réservé de la mémoire virtuellement et ne l'allouer réellement que lorsque on l'utilise.
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 28
    Dernier message: 14/10/2009, 14h40
  2. [Eclipse 3.2, créer l'exécutable de mon programme]
    Par ilyassou dans le forum Eclipse
    Réponses: 0
    Dernier message: 25/04/2008, 12h05
  3. Réponses: 2
    Dernier message: 15/12/2007, 16h52
  4. Réponses: 3
    Dernier message: 12/07/2007, 02h40
  5. Réponses: 1
    Dernier message: 13/04/2007, 08h48

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