K
häufig geht das indem du das 32-bit-wort hinter dem letzten funktionsargument ausliest:
int
func (int arg1, int arg2)
{
void *retadr=*(void**)((void*)(&arg2)+sizeof(arg2));
}
allerdings läßt sich mit der rücksprungaddresse in c nicht viel anfangen.
Xion schrieb:
die man vor bendigung verlassen hat
mir ist nicht klar was du damit meinst. wenn du wieder in eine funktion zurückspringen willst, die du bereits verlassen hast, dann ist es die einfachste methode, die funktion einfach nochmal aufzurufen. das direkte zurückspringen geht nicht, weil du dann den code für die allokation des speichers für die lokalen variablen überspringst (von den funktionsparametern ganz zu schweigen). und die rücksprungaddresse würde dir dabei auch nicht weiterhelfen.
du kannst dir auch mal die ansi-c-befehle setjmp() und longjmp() ansehen. vielleicht ist es das was du suchst.