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 :

probleme avec la memoire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Par défaut probleme avec la memoire
    Bonjour a tous
    Il y avait un petit moment que j'avais pas eut besoin de vos lumieres mais le je me pose juste une petite question a laquelle je ne trouve pas de reponse
    Voila je suis entrain de creer un programme qui utilise beaucoup de memoire (programme sur le differents calcul matricielle donc bon .. l'inverse par exemple demande des tas d'appels recursifs)
    Je voulais savoir si quand on alloue beaucoup (trop) de memoire .. il est possible que j'ai l'erreur Erreur de segmentation ?
    Merci d'avance de vos reponses

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Tu peux avoir une erreur de segmentation au demarrage de ton programme si trop de memoire est allouee automatiquement (sur la pile).
    Si tu alloues la memoire dynamiquement via malloc() et que tu verifies que malloc() n'echoue pas, il n'y a pas de raison d'avoir une erreur de segmentation. Verifie tes indices de tableau.

  3. #3
    Membre chevronné Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Par défaut
    Citation Envoyé par DaZumba
    Tu peux avoir une erreur de segmentation au demarrage de ton programme si trop de memoire est allouee automatiquement (sur la pile).
    Si tu alloues la memoire dynamiquement via malloc() et que tu verifies que malloc() n'echoue pas, il n'y a pas de raison d'avoir une erreur de segmentation. Verifie tes indices de tableau.
    Pour verifier que malloc n'echoue pas .. c'est bien un ==NULL qu'il faut ?

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    .. l'inverse par exemple demande des tas d'appels recursifs)
    la récursivité va remplir la pile et peut provoquer une erreur à l'exécution si la récursivité est trop profonde. De plus, les temps de calcul vont souffrir si tu abuses de la récursivité (pourtant si commode!).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut
    RETURN VALUES
    The malloc() and calloc() functions return a pointer to the allocated
    memory if successful; otherwise a NULL pointer is returned and errno is
    set to ENOMEM.



  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Salut,
    Citation Envoyé par diogene
    .. l'inverse par exemple demande des tas d'appels recursifs)
    la récursivité va remplir la pile et peut provoquer une erreur à l'exécution si la récursivité est trop profonde. De plus, les temps de calcul vont souffrir si tu abuses de la récursivité (pourtant si commode!).
    sauf exeception, il est possible (et donc conseillé) de se passer de la récurcivité qui risque à tous momments de faire exploser la pile et qui consomme pas mal de ressources (temps et mémoire).

  7. #7
    Membre chevronné Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Par défaut
    C'est bon j'ai trouve d'ou venez mon erreur !
    MERCI de votre aide

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

Discussions similaires

  1. Problem avec JOGL et allocation de memoire.
    Par goast dans le forum 3D
    Réponses: 1
    Dernier message: 13/02/2009, 20h18
  2. Probleme avec emplacement memoire (enfin je crois)
    Par Seb1000 dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 22/05/2008, 03h03
  3. Réponses: 12
    Dernier message: 20/12/2006, 20h12
  4. Probleme avec memoire partage
    Par Treuze dans le forum C
    Réponses: 3
    Dernier message: 12/06/2006, 13h32
  5. probleme avec les allocations memoires
    Par david35 dans le forum C
    Réponses: 5
    Dernier message: 21/10/2005, 11h49

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