[elektro] C kérdés plusz

hg12345 hg12345 at freemail.hu
Mon May 19 13:29:19 CEST 2008


Hi!

A goto-t ugyan úgy kezeli mint az asm.  Ha kilépsz a függvényból akkor 
minden ottmarad a stack-ken!

> Ez eddig is világos volt. Én olyasmire gondoltam, hogy írsz pl. egy 
rekurzív 
> függvényt. Az végrehajtja magát 150-szer, majd teljesül valami 
feltétel, és 
> kiugrasz belőle egy gotoval. Biztos, hogy valahol épít egy stack-et a 
> fordító, ha nem is a cpu stack területéről van szó. Ilyenkor ottmarad 
egy 
> rakás adat. Következő meghíváskor detto, aztán megint. De Palasik 
Sanyi azt 
> mondta, hogy függvényből nem lehet gotoval kilépni. Ugyan goto-t 
én legalább 
> 20 éve nem használtam (assemblyn kívül), de elhiszem neki, így 
válasz is 
> lett a kérdésre.
> 
> 
> Gábor
> 
> ----- Original Message ----- 
> From: "Papp Zoltán" <zombi at c2.hu>
> To: <elektro at tesla.hu>
> Sent: Monday, May 19, 2008 8:51 AM
> Subject: Re: [elektro] C kérdés plusz
> 
> 
> 2008.05.17. 00:00:45 dátumon Palasik Sandor 
<palasik at mail.datanet.hu> írta:
> 
> >> És ilyenkor mi van a stack-el? A fordító annyira okos, hogy azt is
> >> rendbeteszi? Ezzel nem kisérleteznék.
> >
> > Függvénybe nem lehet goto-val beleugrani, sem kilépni bel&#337;le. 
Máshol nem
> > játszik a stack.
> 
> Illetve a függvény belépéskor és kilépéskor a használt regiszterek
> értékeit a stackbe menti le a program, de attól még, hogy te egy 
ciklusa
> kell&#337;s közepébe teszel egy RETURN-t, ott lefordítva ASM-ben egy 
GOTO lesz
> a fgv. végén található rutinra, amelyik a stackb&#337;l visszaszedi a
> regiszterek értékeit, és csak utána lesz az assembly RET utasítás.
> 
> Érdemes nézegetni a lefordított kódokat, sok minden megvilágosodik.
> 
> -- 
> Papp Zoltán
> OneWay Electronics Kft
> Hangszerviz
> 
> -----------------------------------------
>           elektro[-flame|-etc]
> 
>  _____________ NOD32 3107 (20080518) Információ 
_____________
> 
> Az üzenetet a NOD32 antivirus system megvizsgálta.
> http://www.nod32.hu
> 
> 
> -----------------------------------------
>           elektro[-flame|-etc]
> 

_______________________________________________________
Szerintem ezt megéri megnézni: http://eduverzum.educomm.hu ! Mi a cégnél már így tanulunk &#8211; ki angolul, ki németül. Próbáljátok ki ti is!
http://ad.adverticum.net/b/cl,1,6022,112478,180889/click.prm



More information about the Elektro mailing list