Hallo Roland,
werden kann. Ich möchte aber, dass nach dem return noch ein paar Befehle ausgeführt werden, dafür gibt es die atexit-Funktion. Nun benutze ich
etwa[...]
Das Programm läuft auch einwandfrei bis zum return, danach komme ich nicht mal mit einem Debugger weiter. Ohne Debugger wird das Programm nicht beendet und hängt.
Wenn ich mich recht erinnern kann, ist der Zustand des ausgeführten Programmes im Exit-Handler nicht eindeutig definiert, d.H. möglicherweise ist (je nach Compiler) der Pointer auf den mit Malloc ausgefassten Speicher schon nicht mehr gültig. Daher könnte folgen, dass Dein Programm hängt. Mit dem GCC muss das aber funktionieren, hab ja in meinem letzten Beleg mit atexit sogar eine Datensicherung durchgeführt. Hast Du schon einmal probiert, mit printf den String auszugeben? (im Exit-Handler)
Matthias