[elektro] C tesztsor makróban ?
elight
elight at gmail.hu
Mon Dec 21 10:41:47 CET 2015
Köszi, majd próbálkozok...
Eredeti felvetésben arra gondoltam,
hogy az előfordító helyettesítsen be nekem..
tehát ha azt írom hogy tesz_B6 ( vagy teszt_B(6) )
akkor amakró minden kifejezésében adott betű ( mondjuk x )
helyére a 6-os szám kerülhessen be a makróba.
És akkor nem kell feltétlen tömböt felvenni.
( Tudom , "mit sprólosz azzal ha nem kell ?" de ez
olyan logikai kérdéske féle is,
mindenkinek akadhat némi rigolyája : )
Egyébként a lényeg hogy a makró itt lényegesen
javíthatja a olvashatóságot és csak egyetlen helyen
szerepel a programban a definíciója ,
míg a globális tömb def-je máshol van
mint az alkalmazásai...
Egyébként is, már túlsok a változóm,
lehet neki kellene állnom "gyomlálni" is ! ;-)
Üdv István
2015-12-21 10:31 keltezéssel, potyo írta:
> Én talán így csinálnám, ha jól értem a feladatot:
>
> const u16 tabla[16]={1, 2, 4, 8, ..., 16384, 32768};
> #define teszt_B(x) (outbit[x] ^= tabla[x])
>
> Nem próbáltam, csak ötlet
>
> elight <elight at gmail.hu> ezt írta (2015. december 21., hétfő):
>
>> Sziasztok.
>>
>> Kicsik nehezen indul a reggel .. ( mármint agyilag :)
>>
>> Mondjuk van egy függvényem:
>>
>>
>>
>> unsigned char tst_Bx_togle[16];
>>
>> teszt_B( unsigned char bindex )
>> {
>> if( tst_Bx_togle[ bindex ] == 0 )
>> {
>> tst_Bx_togle[ bindex ] = 1;
>> outbit[bindex] = 1;
>> }
>> else
>> {
>>
>> tst_Bx_togle[ bindex ] = 0;
>> outbit_B[bindex] = 0;
>> {
>> }
>>
>>
>>
>>
>> Valami ilyesmit kellene elkövetnem..
>> De jó lenne ha egysoros makró-ra konvertálható lenne
>> és nem kellene bittömböt felvennem meg biteket forgatnom
>> sem a toglénak , sem a port bitmezőnek.
>>
>> tehát egy makró utasítást szeretnék beszúrni több biten
>> sok sok helyre.
>>
>> pl.
>> ..
>> teszt_B1;
>> ...
>> teszt_B5;
>> ...
>>
>>
>> Megoldható ez így , elegánsosan?
>>
>> Üdv István
>>
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list