[elektro] C fordítás közbeni adat kiírás

hg12345 hg12345 at freemail.hu
Thu Jan 10 17:07:51 CET 2013


Az enum értékek, a #define meghatározásokkal együtt kapják az értéküket az első preprocesszálási ciklusban. 
Az enum neveket egy többszöröses kicserélt testű #define utasítás sorozat generálja, többszöri meghivás közben, ezt már nem szeretném tovább okosítani.

Már leírtam kitudom nyerni az nevekhez az értékeket, de nagyon bugyuta és kis hatásfokú megoldással.

"Zoltán Gyarmati" <profikam at gmail.com> írta:
>Az a baj, hogy ez az ertek nem all elo neked a makrok kifejtesekor a>
preprocessalaskor, csak kesobb... mondjuk most abban se vagyok biztos,>
hogy ez forditaskor egyaltalan eloall-e, vagy pedig csak runtime, ez>
erdekes, ennek utanaolvasok :)>
szoval mindenkepp valami olyasmit kene csinalnod, ha mindenkepp akarod>
ezt latni forditas kozben, hogy valahogy egy makrobol helyetessited be>
az enum ertekeit, azaz irsz egy/tobb makro(ka)t, ami ugyanolyan>
rendszer szerint allitja elo az enum elso ertek alapjen a tobbit, mint>
az igazi enumok, es ezzel a makroval tolteni fel az enumot. Nem tunik>
egy atlathato es konnyen kezelheto megoldasnak... az nem jo, hogy>
runtime kiiratod ezeket, mikor pl egy bizonyos kapcsolot megadsz a>
programodnak?>
>
SZIGETI Szabolcs <szigiszabolcs at gmail.com> írta (2013. január 10. 16:38):>
> Általában az enumot használhatod int helyett, és máris megvan a számértéke.>
> Vagy akkor nem értem.>
>>
> Szabolcs>
>>
>>
>>
> 2013. január 10. 16:31 hg12345 írta, <hg12345 at freemail.hu>:>
>>
>> Nem egy olyan enum sorozatom van aminek szükséges lenne a megnevezésekhez>
>> tartozó számérték ismerete. Az enum képzés nem szokványos, a forditó>
>> program rakja össze listákból.>
>>>
>> Ez csak egy példa>
>> enum ei{i1=100,i2,i3,};>
>>>
>> #warning   "i1: %2i",i1>
>>>
>> a kiírásnál a warning helyére képzelj a printf-t.>
>>>
>> De az is jó lenne ha ezt egy file kiírná.>
>>>
>> Ilyen volt a régi MASM-ben #v(név) néven... valami hasonlót keresek.>
>>>
>>>
>>>
>>>
>> "Zoltán Gyarmati" <profikam at gmail.com> írta:>
>> >Üdv,>>
>> >>
>> >>
>> nem teljesen ertem, mit akarsz, tudnal irni egy kodreszletet? A>>
>> #pragma message hasznalatarol itt:>>
>>>
>> http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas>
>> >>
>> talalsz egy leirast gcc alatt, de nem tudom, hogy ez kell-e neked. Az>>
>> nem jatszik, hogy amit ki akarsz forditas kozben iratni, azt>>
>> definialod makrokent, es aztan a "valodi" kodba is azt a makrot rakod>>
>> bele?>>
>> >>
>> hg12345 <hg12345 at freemail.hu> írta (2013. január 10. 15:51):>>
>> > Hi,>>
>> >>>
>> > már kérdeztem, de annyira hiányzik, hogy rákérdezek mégegyszer.>>
>> >>>
>> > Nincs megoldás fordításkozben a #warning egy enumerátor értékét kiírjam>
>> a listázó képernyöre?>>
>> >>>
>> > Tölem lehet akármilyen macro, de nagyon-nagyon hiányzik egy ilyen>
>> lehetöség :-((>>
>> >>>
>> > Fordítás után is csak egy tömbbe letéve tudom elöhívni, nincs erre>
>> egyszerűbb megoldás... normál C99 fordító.>>
>> >>>
>> > Üdv>>
>> >>>
>> >>>
>> > ----------------------------------------->>
>> >           elektro[-flame|-etc]>>
>> >>
>> >>
>> >>
>> -- >>
>> Zoltan Gyarmati>>
>> Gtalk: profikam at gmail.com>>
>> MSN: profikam at theend.hu>>
>> ICQ: 335693662>>
>> Skype: profikam3151>>
>> >>
>> Phone number: 0036-30-608-30-79>>
>> >>
>> ----------------------------------------->>
>>           elektro[-flame|-etc]>>
>>>
>>>
>> ----------------------------------------->
>>           elektro[-flame|-etc]>
> ----------------------------------------->
>           elektro[-flame|-etc]>
>
>
>
-- >
Zoltan Gyarmati>
Gtalk: profikam at gmail.com>
MSN: profikam at theend.hu>
ICQ: 335693662>
Skype: profikam3151>
>
Phone number: 0036-30-608-30-79>
>
----------------------------------------->
          elektro[-flame|-etc]>




More information about the Elektro mailing list