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 :

Internal Compiler Error sur instruction 'delete'


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par d�faut Internal Compiler Error sur instruction 'delete'
    Hello

    J'ai un probl�me d'erreur interne du compilateur que je ne comprends pas du tout (d'ailleurs, c'est la premi�re erreur interne de compilateur que je vois ... !).

    Apr�s quelques modification pour isoler le probl�me, j'ai remarqu� que si je mettais en commentaire une ligne 'delete MonPointeur', l'erreur interne ne se produisait plus ... Le pire, c'est que ce delete �tait d�j� l� avant que cette erreur ne se produise ... !

    J'utilise un compilateur pour microprocesseur Coldfire (gcc-m68k si je dis pas de b�tise et que �a vous dit quelque chose ...).

    J'ai d�j� eu cette erreur cette semaine une fois, que j'ai r�solu en 30 secondes sans le vouloir ...

    Merci d'avance pour votre aide

  2. #2
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

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

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    J'utilise GCC tous les jours et je n'ai jamais eu ce genre de probl�mes.
    De quelle version s'agit-il ?

    Essaie de produire un exemple minimal r�duit qui produit l'erreur.

  3. #3
    Membre �clair� Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par d�faut
    J'utilise gcc version 3.4.2 ... Et mingw32-make.exe version 3.81rc2 ...

    J'avoue ne pas �tre au clair avec toutes ces versions gcc, mingw32, make ...

    Cependant, je ne comprends pas mon erreur interne, car l'instruction delete qui pose apparemment probl�me �tait d�j� pr�sente dans mon programme avant que l'erreur apparaissent ... !

  4. #4
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Tu as peut-�tre modifi� quelque chose dans ta classe sur laquelle le pointeur pointe qui cause le prob�me, d�clench� par l'appel � delete (donc au destructeur). On peut voir un peu de code ?

  5. #5
    Membre �clair� Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par d�faut
    Le pointeur dont j'essaie de lib�rer la m�moire pointe sur une structure (en C) que je n'ai pas modifier ... De plus, � d'autre endroit dans mon programme, je fais des 'delete' de cette m�me structure et le compilateur ne plante pas (� moins qu'il ne soit pas encore arriv� � ces lignes dans sa compilation ).

    Pour le code, voici celui de la structure que je veux lib�rer :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    typedef struct tMsgInter
    {
      void*   pBufQueuePointer;       //Must be there for message interchange by fifo
      UINT8   Sender;
      UINT8   Type;
      UINT16  Param;
      OS_FIFO *SenderFIFO;
      UINT8   Day;
      UINT8   Month;
      UINT16  Year;
      UINT8   Hour;
      UINT8   Minute;
      UINT8   Second;
    } TMsgInterTask;
    Et voici l'endroit qui pause probl�me :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    void UserMain(void *pd)
    {
     
    //... Partie d'initialisation du programme ...
     
      while (1)
      {
        task_msg = (PMsgInterTask)OSFifoPend(&main_fifo, 1);
        if(task_msg != NULL)  
        {
          switch(task_msg->Sender)
          {
            case MSG_FROM_MAIN : MAIN_MainMsg(task_msg);
                                 break;
            case MSG_FROM_TCP  : LLAddLog("TCP");
                                 sprintf(tmp_tab_char_1, "%d", task_msg->Sender);
                                 LLAddLog(tmp_tab_char_1);
                                 MAIN_TCPMsg(task_msg);
                                 break;
            case MSG_FROM_TEST : MAIN_TestMsg(task_msg);
                                 break;
            default : LLAddLog("[Main] Message received from unknow sender", LL_WARNING);
          }
    //$$$$ Pause probl�me � la compilation !
    //      delete task_msg;
          task_msg = NULL;
        }
        //$$$$ A voir si on le laisse l� ...
        //if(!TLSendWDTReset())
        //  LLAddLog("An error occured when resetting the Watchdog Timer of the towers", LL_WARNING);
        OSTimeDly(1);
      }
    }
    Voil�, j'esp�re que �a vous aidera ... Je bosse sur un syst�me embarqu�, et la machine ne sera pas souvent �teinte, donc cette instruction de lib�ration de m�moire est importante si je veux pas que remplisse tout pour rien ...

    Je me r�p�te, mais ce qui me perturbe le plus, c'est le fait que cette erreur interne soit apparu sur cette ligne alors qu'avant �a ne faisait rien ...

    Merci pour votre aide !

Discussions similaires

  1. [ZF 1.8] Erreur 500 Internal Server Error sur ->authenticate();
    Par pbraems dans le forum Zend_Acl & Zend_Auth
    R�ponses: 1
    Dernier message: 23/07/2009, 11h32
  2. Compile error sur mac
    Par thomas_strass dans le forum G�n�ral Java
    R�ponses: 4
    Dernier message: 15/04/2009, 10h30
  3. erreur d'exception "internal compilation Error"
    Par opensource dans le forum Langage
    R�ponses: 4
    Dernier message: 08/01/2008, 11h26
  4. erreur d'exception "internal compilation Error"
    Par opensource dans le forum Interfaces Graphiques en Java
    R�ponses: 1
    Dernier message: 07/01/2008, 15h05
  5. Besoin d'aide pour contourner une internal compiler error
    Par Laurent Gomila dans le forum C++
    R�ponses: 18
    Dernier message: 27/06/2006, 22h09

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