Ceckarsky kviz III

Jan Kral kral@fortech.cz
Sobota Červen 6 19:29:10 CEST 2009


> Ano, je to naozaj tak. No ale nemal by prekladac vygenerovat 
> vzdy rovnaky vysledok, bez ohladu na zapnute ci vypnute 
> optimalizacie? 
> Co je vlastne spravne: neblikat, ci blikat?
> 

To s tim rovnakym vysldkom me neustale prekladac udivuje, zrejme je to tim, ze v cecku se pokousim programovat cca 1 rok. Kdyz to jde (preklad se vleze do pameti), tak se pokousim optimalizace vypinat, jednak z toho duvodu, ze urcite nemam neco deklarovaneho jako volatile, jednak proto ze se takovej kod po optimalizaci pak neda krokovat ve zdrojovem tvaru C, protoze kdyz se divam do ASM, tak to jsou silenosti.

Ohledne toho co je spravne, tak kdyz bych sel do dusledku, tak spravne by melo byt blikat, protoze Ccko me neomezuje v moznosti prelest interval do ktereho muze promenna spadat a tak kdyz dovoli prepadnout pri i++ do nejzapornejsi hodnoty, tak nema co predpokladat, ze pri i++ nedojde k tomu ze by bylo znamenko minus. Takze za predpokladu, ze pri i++ nabyva i take zapornych hodnot (to je vsak otazka), tak je to chyba pri optimalizaci. V pripade ze by pri i++ skonci hodnota i na maximalni hodnote, tak by byla spravne i ta optimalizace a vysledkem by melo byt neblikani.

S pozdravem JK



Další informace o konferenci Hw-list