Otlet kellene - C macro
Fuzesi Arnold
arno at externet.hu
Sat Mar 13 17:28:05 CET 2004
Igy igaz, teljesen!
Aztan Tantos Andras jovoltabol (amit kesobb Palasik Sanyi is megerositett,
hogy nem lehet szerinte sem maskepp) megszuletett a megoldas, ami nekem
kellett.
Nem akartam sok darab kulonfele parameterszamu makrot irni, mert az nekem
elegge nem tetszett.
Ezert is irtam a listara, es VF ezert ugrott megint nekem erthetetlen okbol.
Hogy hulye vagyok, meg gany a C, meg szanalmas vagyok, meg szenvedek, meg
blabla...
Holott csak az elegans megoldast kerestem. Megoldasom volt, de nem elegans.
(Amirol kiderult, hogy neves szoftvergyartok is igy hasznaljak, mert nem
igen lehet maskepp.)
A megoldas megegyszer, ha valakit erdekel:
#define mysprintf_P(printf_params,formatstr) do{ \
__flash static const char __s[]=formatstr; \
sprintf_P printf_params; \
}while(0)
hasznalat pl:
mysprintf_P( (system.queue[2].ibuf, __s, temp) ,">AJKS%05u");
Arnold
----- Original Message -----
From: "Bali Zoltan" <eltexto at r320.hu>
To: <elektro at tesla.hu>
Sent: Saturday, March 13, 2004 4:14 PM
Subject: Re: Otlet kellene - C macro
Szia !
Átnéztem a legelső thr.-eket valóban, te
mást akarsz. A problémád abból ered
amit én is korábban kifogásoltam hogy
a sprintf, printf nem a code területre
helyezi el a formátum stringet, hanem
pakolja a data ram-ba. Ha meg a flash-be
rakod akkor átláthatatlan és más fügvény
is kell hozzá. + még a váltzó arg-ok
Jól látom már ?
Üdv Zoli
----- Original Message -----
From: "Fuzesi Arnold" <arno at externet.hu>
To: <elektro at tesla.hu>
Sent: Saturday, March 13, 2004 14:38
Subject: Re: Otlet kellene - C macro
> Szia Zoli!
>
> Ezt nem ertem teljesen.
> Vsprint jo, muxik, hasznalom. De masik helyen, nem a mostani problemanal.
> Ennel nem jo megoldas, vagy en nem tudom mire gondolsz.
>
> Arnold
> ----- Original Message -----
> From: "Bali Zoltan" <eltexto at r320.hu>
> To: <elektro at tesla.hu>
> Sent: Saturday, March 13, 2004 10:45 AM
> Subject: Re: Otlet kellene - C macro
>
>
> Hali !
>
> Nem csiszolódtam a stdarg.h területen, de
> a vsprintf a mem. szükösség helyett lett
> elvetve ?
>
> Üdv Zoli
>
>
> ----- Original Message -----
> From: "Fuzesi Arnold" <arno at externet.hu>
> To: <elektro at tesla.hu>
> Sent: Friday, March 12, 2004 22:57
> Subject: Re: Otlet kellene - C macro
>
>
> >
> > ----- Original Message -----
> > From: "Palasik Sandor" <palasik at mail.datanet.hu>
> > To: <elektro at tesla.hu>
> > Sent: Friday, March 12, 2004 10:45 PM
> > Subject: Re: Otlet kellene - C macro
> >
> >
> > > Szerintem fel kéne adnod az agyalást :-) Azt a plusz zárójelpárt
> tudtommal
> > nem
> > > tudod eltüntetni.
> >
> > Nem is kell, igy mar megfelel. Nekem legalabbis.
> > Jobb mint szamolgatni hany parameterem van, es modositani meg egy helyen
> ha
> > valtozik a fejlesztes kozben.
> > Ettol ki tudok keszulni. Ha szamolhato/kilogikazhato dolgokat nekem kell
> > adminisztralni tobb helyen...Holott
> > a relaciot koztuk egy okos kis megoldas megadja.
> >
> > > #define TrapSz8(psz,a1,a2,a3,a4,a5,a6,a7,a8)
> > > #define TrapSz9(psz,a1,a2,a3,a4,a5,a6,a7,a8,a9)
> >
> > Brrr....
> >
> > > Van egy másik megoldás, de szerintem az még bénább:
> > >
> > > #define mysprintf(a,b) do { {__flash static const char f[] = a; \
> > > sprintf b ; } while(0)
> >
> > Ezt hasznalom. Nekem szimpatikusabb mint a sok kulon makro a kulonfele
> > hosszokra.
> >
> > Arnold
> >
> > Arnold
> >
> >
>
>
>
>
>
More information about the Elektro
mailing list