Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    97

    [c] Problemi con Malloc

    ciao a tutti ! ho un problema con la chiamata a funzione malloc.

    l'esecuzione di un mio programma mi si blocca sull'istruzione della chamata malloc e nella shell mi ritorna questo messaggio :

    NomeProgramma: malloc.c:3074: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.



  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Vediamo il codice ...

    Quale compilatore usi?

    In quale ambiente?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    97
    uso gcc

    ambiente linux

    il mio codice e' questo:

    info* start = NULL; // info e' una struttura dati

    // la funzione verra' chiamata un numero n di volte:
    funzione()
    {
    ........
    // Aggiungo nodo in testa alla lista
    info* nodoNew = NULL;
    nodoNew = malloc(sizeof(Info));
    // inserisco valori nel nuovo nodo.....
    nodoNew->next = start; // metto il nodo in testa
    }


    nodoNew essendo una variabile locale alla fine del blocco funzione dovrebbe morire giusto???
    ma ho salvato il puntatore in start .....

    dovrebbe funzionare :master:

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da rufuss
    ma ho salvato il puntatore in start .....
    Dove l'hai fatto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    97
    mi da' errore nella seconda chiamata della funzione...esattamante quando chiamo malloc

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    97
    si ok mi sono dimenticato di scriverlo ora:

    .....

    start = nodoNew;

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da rufuss
    si ok mi sono dimenticato di scriverlo ora:

    .....

    start = nodoNew;
    Sì, però così non si capisce nulla ...

    Posta tutto il codice, corretto, con la struttura e tutto quello che serve per capire dove puo' essere il problema ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    97
    il codice e' troppo lungo per postarlo....grazie lo stesso! con santa pazienza vedro' cosa non va! :master:

  9. #9
    Originariamente inviato da rufuss
    il codice e' troppo lungo per postarlo....grazie lo stesso! con santa pazienza vedro' cosa non va! :master:
    male, molto male:
    Divide et Impera

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    97
    Grazie del suggerimento gia' fatto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.