Quand j'écris un programme C, j'ai rencontré un problème qui se présente comme suit:malloc.c: erreur 3074?
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 (malloc_chunk struct, fd_nextsize)) + ((2 * (sizeof (size_t))) - 1)) & ~ ((2 * (sizeof (size_t))) - 1))) & & ((old_top) -> taille & 0x1) & & ((unsigned long) old_end & pagemask) == 0 ) a échoué.
Aidez-moi à résoudre le problème, merci d'avance!
Cela ressemble à une mauvaise utilisation du tas. Vous devez fournir un extrait qui expose cela. – sharptooth
Pouvez-vous le reproduire avec un petit exemple? Avec environ dix lignes de code. –
J'utilise simplement la méthode malloc() pour avoir de la mémoire. Si je commente cette ligne, ce problème ne se produira pas. –