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 :

Problème d'allocation (malloc)


Sujet :

C

  1. #21
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par voldie Voir le message
    Je pense que ma fonction marche pas trop mal

    En fait je pense que la tienne marche très bien !
    Or au final le problème est le même : malloc renvoi null quand j'utilise ta fonction aussi.

    Voldie

    PS : désolé je ne peux pas poster le reste de mon code... algorithme confidentiel pour mon client :s
    La mienne est robuste. Lorsque malloc() renvoit NULL, ma fonction renvoit NULL et ne cherche pas à déréférencer de pointeur NULL.

    En ce qui concerne l'algorithme confidentiel, essaie de réduire ton code au minimum compilable reproduisant le problème. C'est un excellent exercice. Sans plus de code de ta part, difficile de dire pourquoi malloc() renvoit NULL chez toi.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  2. #22
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Citation Envoyé par voldie Voir le message
    * => méa culpa, j'ai passé trop de temps sur java ces derniers temps
    Salut,

    avec le C99 normalement tu as le droit.

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 21
    Par défaut
    Bien.

    Merci pour vos conseils et votre temps !

    Voldie

  4. #24
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par voldie Voir le message
    programme ... qu'entends-tu par déréférencés
    Lorsque, dans ta boucle, tu écris temp[i]=tmp[deb + i], tu accèdes aux zones mémoire situées aux adresses contenues dans temp et dans tmp. Si temp et/ou tmp vaut NULL, ou toute autre adresse invalide, on a un comportement indéterminé (erreur de segmentation très probable sous unixoïde).

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #25
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    Salut,

    avec le C99 normalement tu as le droit.
    Avec C99, oui, mais comme les compilateurs conformes C99 ne sont pas légions et sans info complémentaire, je présuppose que le PO programme en C90.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 21
    Par défaut
    Oui exactement parce que le pointeur est null...

    Ce que je cherche à comprendre c'est pourquoi il est null :p

    Voldie

  7. #27
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par voldie Voir le message
    Oui exactement parce que le pointeur est null...

    Ce que je cherche à comprendre c'est pourquoi il est null :p

    Voldie
    C'est pas null, mais NULL.

    Si tu veux qu'on essaie de t'aider à comprendre, il nous faut plus de code.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 21
    Par défaut
    J'ai créer un autre projet comme Thierry avec juste ma fonction et son main et la fonction marche.

    Ça doit venir du reste du code. Je revois tout.

    Merci et je vous dirais ce qui n'allait pas

    Voldie

  9. #29
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 21
    Par défaut
    J'ai trouvé...

    Un problème avec la machine virtuelle au final.
    C'est elle qui interdit l'accès de la RAM au malloc.

    J'ai identifié le problème car j'avais de plus en plus de problèmes d'allocation.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème d'allocator
    Par Quark-Up dans le forum C++
    Réponses: 4
    Dernier message: 23/03/2006, 01h37
  2. Problème d'allocation mémoire
    Par cali1983 dans le forum C++
    Réponses: 10
    Dernier message: 10/03/2006, 23h23
  3. Problème d'allocation de mémoire dans la pile
    Par prophet666 dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 19/01/2006, 02h22
  4. fenetre MDI - problème d'allocation
    Par say dans le forum C++Builder
    Réponses: 8
    Dernier message: 03/11/2005, 17h06
  5. Question sur les problèmes d'allocation dynamique
    Par slylafone dans le forum C++
    Réponses: 23
    Dernier message: 25/10/2004, 14h18

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