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 :

0 erreur à la compilation mais pop up erreur dès l'exécution


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut 0 erreur à la compilation mais pop up erreur dès l'exécution
    Bonjour à tous,

    j'ai repris un projet C fonctionnant sous Unix. J'ai dû faire quelques adaptations (d'ailleurs bien aidé par ce présent forum) pour le compiler sans erreur sous Windows en VC++.
    Seulement maintenant l'appli fait une erreur pop up dès qu'elle se lance.
    Voici mon code (ce n'est pas le code que je compte développer à terme, c'est un code test pour essayer de trouver la solution), si cela inspire quelqu'un. Merci...
    Le code suivant montre comment je déclare et initialise 2 paramètres que je dois ensuite passer à la fonction dénommée profilo_.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	struct extrac* myxtrac;   // Déclaration d'un pointeur sur la structure extrac
    	unsigned short int grandtest[5];  // Déclaration d'un tableau de unsigned short int
    	unsigned short int* test;    // Déclaration d'un pointeur sur un unsigned short int
    	int i;    // Pour la boucle for
     
            myxtrac = (struct extrac*) malloc(sizeof(struct extrac)); // Allocation memoire, récupération du pointeur
     
            for(i=0;i<5;i++) // Remplissage du tableau grandtest
    	grandtest[i]=3*i;
     
            test = (unsigned short int*) grandtest;  // Récupération du pointeur sur unsigned short int
    	profilo_(test,myxtrac);  // Appel de la fonction
    Précisions :
    J'inclue un fichier .h qui contient le prototype de profilo_ et je déclare en extern profilo_, car cette fonctions est définie dans un autre fichier C qui appartient au projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #include "extrac.h" // Contient le prototype de profilo_
    extern void profilo_ (
    	       unsigned short int *frame,
    	       struct extrac *xtrac);
    Si vous avez quelques idées... merci beaucoup.

    Guilhem.

  2. #2
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Pad'Bol

    Ca compile et ca marche chez moi.
    As tu mis des points d'arrêt pour être sur que l'erreur se produit bien dans le code que tu envoyé? (d'ailleurs, le code me semble bon).

    Et quel genre d'erreur est retourné? style bus ou violation?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Salut Kangourou,

    merci de t'être plongé dans mon code .

    En fait je viens d'initialiser chacun des membres de l'instance de la structure myxtrac. Ca compile et cette fois, ca ne fait plus d'erreur à l'exécution.

    L'erreur que j'obtenais était du style
    http://www.developpez.net/forums/viewtopic.php?t=5247
    . (la mémoire ne peut pas être read).

    Guilhem.

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

Discussions similaires

  1. Erreur de compilation : mais pourquoi?
    Par bertry dans le forum Langage
    Réponses: 4
    Dernier message: 29/01/2011, 21h55
  2. Réponses: 1
    Dernier message: 30/11/2009, 15h12
  3. Réponses: 3
    Dernier message: 06/05/2009, 09h20
  4. Réponses: 11
    Dernier message: 11/03/2009, 22h12
  5. Réponses: 8
    Dernier message: 04/03/2008, 23h30

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