c: MISRA2012
Miroslav Mraz
mrazik na volny.cz
Pátek Březen 26 17:20:48 CET 2021
Ještě jednou se zeptám - zaručuje norma pro jazyk C, že konstantní výraz
typu (20.1 / 1.1) bude _opravdu_ vyhodnocen už při překladu ?
Pokud ne, pak není divu, že MISRA nadává. Hloupý překladač z let dávno
minulých to bude opravdu počítat v runtime, protože (hloupý) parser mu
to tak předhodí. A MISRA neumí věštit z křišťálové koule jaký překladač
a s jakou optimalizací bude použit.
Mrazík
Dne 26. 03. 21 v 16:38 Jan Waclawek napsal(a):
> Ozaj, a
>
> uint8_t x = (uint8_t) ((double) (20.1 / 1.1));
>
> ste uz skusali?
>
> wek
>
Další informace o konferenci Hw-list