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

Fuzesi Arnold arnold.fuzesi.lista at gmail.com
Thu Jan 10 17:28:22 CET 2013


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]
>



More information about the Elektro mailing list