[elektro] C kérdés
hg12345
hg12345 at freemail.hu
Thu Jan 31 16:24:05 CET 2008
inline létezik a forditóban, de bármit csinálok marad a szubrutin hivas
és vele együtt a hasznalatos regiszterek mentése.
az inline funkcioval hatásával azonos lenne a macro definialas, mind két
esetben a szubrutin anyiszor kerül a programba ahányszor meghivom
de nem ezt ha lehet elkerülném.
Röviden valoszinuleg a C nem ismer olyan modosítot, mely teljesen
atlatszova teszi a void foo(void) subrutin hivást teszöleges számú
változót hasznáva benne.
koszi az eddigi otleteket
> hg12345 írta:
> > Köszönöm a válaszokat, de nem erre gondoltam.
> >
> > - naked: sajnos PIC24/dsPIC esetén nem él, de nem is jó (AVR és
tsa.)
> > - sajnos nem IAR-t használok :-(
> > - A feladat nincs alul méretezve, ill ami szük az nem a uC
> > teljesítményétől függ. (Nem felejtő memória kezelés...)
> >
> > Lehet, hogy rosszul fogalmaztam meg a problémámat.
> > Adott egy IT kezelés ami szubrutint hív, a szubrutin használ 1-2
> > regisztert, de ha olyan szubrutint hivok ami nem tartalmaz semmit,
> > csak pl egy volatile NOP-t, akkor is elmenti a C-ben általánosan
> > használt regisztereket, még optimalizálásnál is. Ha nincs szubrutin
> > hivás, akkor csak azokat a regisztereket menti, amiket az IT-ben
> > használ. (valószínüleg nem találtam meg mélységi szubrutin
> > optimalizáció flagjét)
> >
> > amit szeretnék egy olyan function modosító, mely hatására a belső
> > regisztereket saját maga menti, (nem az IT!), és ez alapján az IT
> > teljesen átlátszónak itéli rutint, és az IT nem menti fellesleges
> > regisztereket.
>
> Inline van ebben a c fordítóban? Ami fordítási időben behelyettesíti a
> függvényhívást a függvény törzsével?
>
> -----------------------------------------
> elektro[-flame|-etc]
>
________________________________________________________
Megrendelhető a Harry Potter 7. kötete magyarul! Rendelje meg és már szombaton kézhez veheti!
http://www.bookline.hu/control/news?newsid=1020&affiliate=frehp7kar4711
More information about the Elektro
mailing list