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

SZIGETI Szabolcs szigiszabolcs at gmail.com
Thu Jan 10 19:27:41 CET 2013


Hogy mi? Ezt most nem értem. Mutass egy példát!

Szabolcs
2013.01.10. 19:21, "hg12345" <hg12345 at freemail.hu> ezt írta:

> Egyébbként az elöfeldolgozás annyira problémás, ha a #define értékre
> akarsz fordítási feltételt betenni a programba, akkor már nem müködik,
> perdig elvileg a heléyettesítési adata meg, csak a definicós feltételre
> müködik :-(
>
> szóval azért ez nem ennyire egyszerű mint írjátok
>
> "Zoltán Gyarmati" <profikam at gmail.com> írta:
> >Akkor megse ertettelek, a #define makro ertekeket ki lehet iratni, ld>
> pl itt:
> http://stackoverflow.com/questions/1562074/how-do-i-show-the-value-of-a-define-at-compile-time,
> >
> azaz pl igy:>
> >
> >
> #define XSTR(x) STR(x)>
> #define STR(x) #x>
> >
> #define BITS 8>
> .>
> .>
> .>
> #pragma message "A bitek szama: "  XSTR(BITS)>
> .>
> .>
> main{>
> >
> }>
> >
> >
> >
> amit szerintem nem lehet, az az, hogy egy enum auto-enumerated>
> ertekeit kiiratani. Azt mar csak remelni tudom, hogy ez a "pure C">
> fordito is tudja ezt, de elvileg a fenti megoldas az standard.>
> >
> >
> >
> >
> hg12345 <hg12345 at freemail.hu> írta (2013. január 10. 17:54):>
> > A forditó egy pure C (C99 opciókkal), maradnék a hordozható bárhol
> kisegítő programok nélkül forditható verziónál.>
> >>
> > Köszönöm mindenkinek a segítséget>
> >>
> > Üdv>
> >>
> >>
> >>
> >>
> > "Zoltán Gyarmati" <profikam at gmail.com> írta:>
> >>hm, kb ertem :)>>
> > En lehet elgondolkodnek azon, hogy ezt a tombot forditas elott egy>>
> > scripttel generaltatnam a makefilebol, es ugyanez a script definialna>>
> > makrokat is az egyes elemekhez egy szinten generalt header fileban,>>
> > majd ahol ezeket az ertekeket hasznalni akarod, oda a makrokat irod,>>
> > mikor kodolsz, meg persze beincludold ezt a generalt headert.  Ebben a>>
> > scriptben persze aztan azt irathatnal ki amit akarsz, sot, valami>>
> > olyasmit is lehetne trukkozni, hogy te egy egyszeru textfileban csak>>
> > definialod a menu szerkezetet (de ez lehet akar xml is), majd a>>
> > tombodet meg a makrokat ebbol generalna a script. Persze ehhez kell>>
> > venni egy nagy levegot, es raszanni egy munkanapot, de utana szerintem>>
> > konnyebb lenne az eleted.>>
> >>>
> > hg12345 <hg12345 at freemail.hu> írta (2013. január 10. 17:01):>>
> >> Nehéz elmagyarázni,>>
> >>>>
> >> A készülék menüje egy tömbben van tárolva (több mint 400 bejegyzés) , a
> tömb indexe az enummal meghatározott felsorolás tipus. Ez a tömb nem tömb,
> hanem egy többszörös fa struktura tömbben tárolva. A generálás nem
> lineárisan egymás után megadva történik, hanem szerkezett szerint, igy csak
> nagyjából tudom mi hol van, de kezelés szempontjából teljesen mindegy.>>
> >> Ami nem, hogy a kommunikációs felületen a tömbben való elhelyezkedés
> adja a MODBUS regiszter címét, tehát az tisztán látást segítő index alatt
> van a regiszter cimem van (rejtve), ami itt nem éppen nem szerencsés.>>
> >>>>
> >> A kinyerésére csak egy indexekkel feltöltött tömböt kell tárolnom,
> valami bugyuta hivatkozással, hogy ne optimalizálja ki :-(, és debug
> üzemmódban onnan kinézhetem az indexek sorszámát.>>
> >>>>
> >> Lassú és hosszadalmas.....>>
> >>>>
> >> Már mindent átnéztem, de nem találtam erre megoldást, egész egyszerűen
> nem tudom elhinni, hogy fordítási időben ennyire nem tud segíteni a
> fordító.>>
> >>>>
> >> SZIGETI Szabolcs <szigiszabolcs at gmail.com> írta:>>
> >>>HalI!>>>
> >>>>>
> >> Mármint azt szeretnéd, hogy van egy enum-od, és az abban szereplő>>>
> >> szimbolikus értékeknek megfelelő számot szeretnéd megtudni?>>>
> >> Ez miért kell? Éppen azért van az enum, hogy az értékek ne
> homályosítsák el>>>
> >> tisztánlátásunkat.>>>
> >>>>>
> >> Ha viszont nagyon akarod, akkor az enumban közvetlenül megadhatod az>>>
> >> értéket.>>>
> >>>>>
> >> Szabolcs>>>
> >>>>>
> >>>>>
> >>>>>
> >> 2013. január 10. 15:51 hg12345 írta, <hg12345 at freemail.hu>:>>>
> >>>>>
> >>> 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]>>>
> >> ----------------------------------------->>>
> >>           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]>>
> >>
> >>
> > ----------------------------------------->
> >           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]


More information about the Elektro mailing list