GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Shirak - 2014. június 26. - 19:53:35

Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: Shirak - 2014. június 26. - 19:53:35
Shirak rekurzív define-jei megihlettek, és írtam egy kis snippetet az õ kódja alapján, amellyel be lehet mutatni a PAWN fordítónak, ha már meguntuk, hogy mindig a szintaktikus elemzés szerencsétlenebb oldalán állunk.
#include <a_samp>
#define main a
#define a main
main() { }

 
[/quote]
Köszönöm!
krisk talált egy hasznot a snippetemnek, ezért kérném a moderátorokat, hogy ezt még ne zárják le, mert hasznos lehet néhány embernek!
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: Peter1481048284 - 2014. június 26. - 20:03:18
Én ezt nem értem. Lehet én vagyok hülye de kérem ezt valaki magyarázza el. EZ EZ EGY PARADOXON
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: EnterR - 2014. június 26. - 20:06:10
Idézetet írta: Peter date=1403805798\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49049\" data-ipsquote-contentclass=\"forums_Topic
Én ezt nem értem. Lehet én vagyok hülye de kérem ezt valaki magyarázza el.
 
Backtracking jellegû algoritmusokban szokás használni.
Faktorális számító függvény: (C implementáció)
 
int faktorialis(int n)
{
    int eredmeny = 1;
    int i = 2;
    while(i <= n){
        eredmeny = eredmeny * i;
        i = i + 1;
    }
    return eredmeny;
}
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: KovaNovik - 2014. június 26. - 20:37:13
Nem az a durva, hogy 2 soros scripteket publikálnak, hanem az, hogy van köztük olyan, amit nem ismerek.
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: Peter1481048284 - 2014. június 26. - 20:42:27
Idézetet írta: KovaNovik date=1403807833\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49049\" data-ipsquote-contentclass=\"forums_Topic
Nem az a durva, hogy 2 soros scripteket publikálnak, hanem az, hogy van köztük olyan, amit nem ismerek.
 
Van egy érzésem, hogy te már ilyesmin töröd a fejedet, hogy
 
#include <a_samp> #define main a #define a main main() { }

 
((És igen tisztában vagyok vele, hogy ez a sor TELJES MÉRTÉKBE rosz. De KovaNovik érti mire célzok :)
Amúgy gyakorlati példát mondjon már nekem erre valaki. EnterR kívül mert az övét nem értem
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: KovaNovik - 2014. június 26. - 20:44:01
Ez már megesett, de elkeserítõ volt, hogy minden #-el kezdõdõ (fordító által értelmezett) sort külön kell írni.
Egy másodperc késéssel írtam! Mindegy. Amúgy ha jól értelmezem ez egy infinite loopot jelent röviden.
Pl. csinálsz egy függvényt, aminél önmaga befolyásolja a visszatérési értékét.
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: krisk - 2014. június 26. - 20:51:06
Mutatok egy példát:
 

stock LetTheFloodBegin()
{
   printf(\"SZERELES?\");
   LetTheFloodBegin();
}

 
Ez ugyanaz, mint a
 

stock LetTheFloodBegin()
{
   while(true)
   {
        printf(\"SZERELES?\");
   }
}

,
azzal a különbséggel, hogy az elsõ függvény kb. fél perc alatt okoz egy heap/stack collisiont, mert ha a függvény saját magát hívja meg, a függvény meghívásához szükséges memóriát nem törli a stackbõl addig, amíg az vissza nem tér valamivel.
Minden rekurzió átírható ciklussá, és fordítva.
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: Peter1481048284 - 2014. június 26. - 20:52:41
Ahaaaaaaaaaa. Értem. Na ezt lehet felhasználom  :thumbsup:
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: Krizokril - 2014. június 26. - 21:30:23
Szép munka, felhasználom a hétvégi gombalevesbe. Megy a plusz.
Szerk.: ...menne a plusz, de baszik megadni.
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: krisk - 2014. június 26. - 22:23:58
Shirak újabb hasznos scripthez kérte segítségemet, amit holnap publikálni is fog. Remélem hasznát fogjátok venni.
Cím: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
Írta: EnterR - 2014. június 26. - 22:31:26
Idézetet írta: krisk date=1403814238\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49049\" data-ipsquote-contentclass=\"forums_Topic
Shirak újabb hasznos scripthez kérte segítségemet, amit holnap publikálni is fog. Remélem hasznát fogjátok venni.
 
Alig várom!