Ärger mit wsort.o

Verweise…

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Ärger mit wsort.o
wlist funktionieret einwandfrei. Allerdings hab ich ärger mit wlist1 und zwar produziert er mir bei wlist1 in der strcmp einen segfault, der durch cmp_fkt ausgelöst wird. Da aber die Quellen fehlen, ist es schwer den Fehler zurück zu tracen. Könntet ihr die zur Verfügung stellen?
Werds heute nachmittag mal mit meinem Wsoft testen - evtl hab ich ja mehr Glück…


SIEG! wlist3 mit 2 MB und 0.16s user! :slight_smile:

wsort.c
Ich habe mal wsort.c nach /proj/i4sos/pub/aufgabe4 kopiert. Bevor jetzt wieder jemand
anmerkt, dass wsort.c nicht der Aufgabenstellung von Aufgabe2 entspricht. Das ist beabsichtigt.
Der Aufruf von realloc mit einem NULL-Pointer ist auch beabsichtigt! Eine
richtige realloc-Implementierung sollte damit umgehen koennen. (Siehe Manpage zu realloc,
ANSI-C Standard oder Kommentar in halde.h.)
Der Speicher wird mit dem Systemcall exit wieder freigegeben. Wenn Ihr in
das einer Loesung auch mit exit macht, dann erwarten wir den Hinweis darauf
in einem Kommentar mit der richtigen Begruendung! :wink:

Moegliche Fehler bitte melden. :slight_smile:


-rw-------  1 wawi i4staff 1268 2005-05-23 11:37 wsort.c

morty was war nun dein problem?

bei mir isses ähnlich wlist1 springt er irgendwann raus ohne die comparefunktion aufzurufen

und bei anderen macht er in der comparefunktion nen segfault

die blöcke die zurückgegeben werden hab ich überprüft die scheinen zu passen und zu wenig speicher hat er auch nicht

noch jemand anderes der ein ähnliches problem hat?


ok funktioniert nun

und zwar hab ich vergessen in der malloc die größe des zurückgegebenen fsp auf die anfragegröße zusetzen
und in der realloc war n kleiner pointer arithmetik fehler G

wieviel kb große files schafft ihr so?


Interessant wirds meiner Meinung erst bei wlist3, weil da recht viele reallocs vorkommen und der algo entsprechend eine größere Rolle spielt(Hab beim ersten mal 5 MB gebraucht). Die anderen sind so liniar, dass alle algo’s so ziemlich das gleiche Ergebnis liefern dürften.


das problem is deren dummes pointerarray das verschlingt soviel platz dass es nirgends mehr reinpasst

egal hauptsache es funzt auf die art würde eh kein normaler mensch ne malloc implementierung erstellen