ARM GCC problem

Marek Peca marek@tynska.cuni.cz
Pondělí Červen 11 08:54:48 CEST 2007


Zdravim,

> Takisto mi je zahadou preco sa v primitivnej cakacej gunkcii
> 
> delay(uint_32_t t){
>       for(volatile uint32_t n; n < t, n++);
>       }
> 
> musi pouzut VOLATILE, okrem main() ju nikde nepouzivam.

to je prece jasne z definice toho, co je "volatile". Kompilator pri
optimalizaci _muze_ zjistit, ze tento cyklus nic nedela (zpozdeni
se nepoklada za zadouci vysledek, naopak), proto jej vyoptimalizuje
pryc.

Ono by bylo dobre si zjistit zaklady modernich (= optimalizujicich)
kompilatoru. To zdaleka nechodi jako za starych casu na PMD-85 (nebo
Borland/Turbo Pascal/C), kdy prekladac prelozil konstrukci jazyka do
pevne dane konstrukce ze strojoveho kodu.


ZdraviM.P.




Další informace o konferenci Hw-list