Hlavní navigace

Názor ke článku Počítání s přetečením v C od JSH - [10][12][26][31] Ano u znaménkových typů v C je...

  • 3. 10. 2014 12:50

    JSH (neregistrovaný) 2001:67c:1220:----:----:----:----:----

    [10][12][26][31] Ano u znaménkových typů v C je přetečení nedefinovaná operace. Unsigned typy definované jsou.

    [12] Bacha, volatile neznamená vypnutí optimalizací. volatile jen zabrání překladači přehazovat a odstraňovat přístupy do paměti.
    Z kódu
    a = b;
    a = 3;
    může překladač bez problémů vyhodit to "a=b", takže nenačte "b" a do "a" zapíše jen jednou. Pokud jsou a a b volatile, tak nemůže vyhodit ani to čtení ani ten zápis. Pokud by se s hodnotou "b" něco počítalo, tak to překladač může zoptimalizovat jak chce. Jen nesmí přeskládat přístupy k volatile proměnným.