Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: maumo am 31. July 2005, 16:27

Titel: mal wieder GCC...
Beitrag von: maumo am 31. July 2005, 16:27
also ich weis net aber ich glaub das ding mag mich nich...

ich hab versucht den fehler in meinem MT zu finden und nach stundenlangem hin und her hab ich den fehler gefunden:


    KernelHeapSegment* Segment = NULL;
    KernelHeap.Bottom = (Address)0x220000;
    KernelHeap.Top    = (Address)0x400000;
    KernelHeap.Inited = 1;
   
    Segment = (KernelHeapSegment*)(KernelHeap.Bottom);
    Debug("S=%h", Segment);
    if(Segment = NULL)
      return;

    Segment->Next  = NULL;
    Segment->Size  = (UInt32)(KernelHeap.Top - KernelHeap.Bottom);
    Segment->State = HeapSegmentFree;
    Segment->Magic = KHeapMagic;


die ausgabe ist merkwürdigerweise
S=0x0.
Debug funtzt richtig...
also ich überlege wirklich nur noch pur asm zu coden... aber vielleicht hat ja noch jemand so ne probleme?
Titel: Re: mal wieder GCC...
Beitrag von: Jidder am 31. July 2005, 18:16
sicher, dass das richtig ist?
   if(Segment = NULL)

meinst du vieleicht das?
   if(Segment == NULL)
Titel: mal wieder GCC...
Beitrag von: maumo am 31. July 2005, 18:21
tipp fehler... aber an dem problem ändert dass nichts...
Titel: mal wieder GCC...
Beitrag von: xormore am 31. July 2005, 18:40
kann es sein, dass KernelHeap in einem nicht beschreibbaren speicher liegt?

sonst schau dir doch mal den assembler output an
gcc -masm=intel -S datei.c
vielleicht hilft er dir den fehler zu finden.
Titel: mal wieder GCC...
Beitrag von: maumo am 31. July 2005, 22:16
also jetzt wirds ganz confuse: ich hab einfach das "Debug" nach dem if(Segment...) gesetzt, und was is? es funtzt.
dann wollt ich das ganze nich so glauben und hab das nochmal rückgängig gemacht... kein fehler... ich glaub ich krepier...