[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ő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ő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ő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 – 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