[elektro] C fordítás közbeni adat kiírás
hg12345
hg12345 at freemail.hu
Thu Jan 10 17:51:26 CET 2013
Miért írnám a programomat, mert a kisiskolás programozók egy egyszerű listázó kimenetet nem tudtak a beírni a forditó programba. Az kész röhely, hogy fordítási időben egyetlen define vagy macróban számolt konstans értéket nem lehet kilistázni!
Azt meg érteném, hogy olyan dolgokat nem listázok ki, ami csak a linker után kap értéket, de hogy macro, define érték adással megadott számot nem lehet megnézni listában, milyen #define ami a linkerben kap értéket ?!?
Arról ne is szólva, hogy az ARM-nál a offset cimzés miatt, még a struktura tagok címét se a linker számolja, ha nem a forditó az első menetben :-))). Vagyis még ez is megvan az első fordítási menetben.
Azért egy menű kezelés nem igy néz ki :-)), ilyen technikával nem túl szerkeszthető egy menű.
((Dehogy irom át a menü szerkesztést, amikor text-ben programozói tudás nélkül szövegesen írható :-))
Egy menűpont az egy sor és ennek minden adatot tartalmazni kell, mivel nincs szétszórva a definició generálási hiba sincs!
Az egész csak a kényelmet szolgálná, a program betöltése után már egy tömbbe letettem minden értéket.
Üdv
Fuzesi Arnold <arnold.fuzesi.lista at gmail.com> írta:
>Anno belefutottam ebbe én is, hasonlokepp menukezeles kapcsan.>
(ha jól értem a gondot)>
>
Végül végigszívattam magam vele, nem írtam újra.>
De arra jutottam, rossz volt a programtervezés...>
>
Szedd külön tömbökbe a menüket szerintem, és pointerek legyenek benne egymásra >
mutogatva. Pointernek meg ertekul tudod adni az "altömb" kezdőcímét, MODBUS >
cimeket tartalmazo segedtömböt stb.>
>
Magyarul :)>
>
enum{almenu0_cim,almenu1_cim,....almenu_last};>
>
char* fomenuptr[almenu_last];>
char almenu0[hablabla];>
>
fomenuptr[almenu0_cim]=&almenu0; stb.>
>
Ha jól értem a gondot.>
>
Ahogy mas is irta, nagylevegő szerintem, és újból nekifutás.>
>
A.>
>
On 2013.01.10. 17:01, hg12345 wrote:>
> 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]>
>>
>
----------------------------------------->
elektro[-flame|-etc]
More information about the Elektro
mailing list