Kviz pri patku, podpasovka v C ?

Jiří Nesvačil nesvacil na posys.eu
Sobota Listopad 5 15:06:28 CET 2016


Zdravim,
jasne usetri se pamet.

A jak to napisete v 32 bitech ?

uint32_t _last_time_key_scan,tick;
//....

// porovnani s cast

if(  ((uint32_t)(tick-_last_time_key_scan)) >= 4) // 1x za 4ms

// tohle se mi jiz moz nelibi

if(  (tick-_last_time_key_scan) >= 4) // 1x za 4ms

Myslim si, ze ani v 32 bitech mi to neprijde moc prehlednejsi. Ten cast tam mozna nemusi byt, ale pokud nekdo na druhe strane porovnani pouzije neco jineho, tak by to mozna kompiler mohl vyhodnotit jako vetsi signed. A to by jiz uplne ok nebylo. Nebo 
to nekdo okopiruje do jineho jazyku a muze se divit obcasnemu casovani mimo.

Jirka


Dne 4. 11. 2016 v 19:25 Miroslav Mraz napsal(a):
> Neuniká, zrovna tahle proměnná může být klidně lokální v main(). Spíš mě zaráží proč je 8-bitová. To, že ušetří (možná) 3 byty mu docela zkomplikuje život. Asi je to zvyk z 8-bitových čipů.
>
> Mrazík
>
> Dne 4.11.2016 v 18:56 Jaroslav Buchta napsal(a):
>> Cemu chybi static???  uint8_t _last_time_key_scan; ???
>> Mozna mi neco unika ale nezda se mi, ze by to melo na funkci vliv, to
>> snad jen zneviditelni promennou pro dalsi moduly. A pokud by se jinde
>> pouzil stejny identifikator, hodi to chybu pri linkovani.
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list