Zahada C atmel studio

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Sobota Květen 3 13:56:21 CEST 2014


Muze mi nekdo vysvetli, proc v Atmel studiu se mi pri nasledujicim kodu

         int16_t x = 0;
         int16_t y = CharHeight(FontTahoma_12)+2;
         uint8_t c = 0x20;
         DrawChar(0x7f, x, y, FontTahoma_12);
         while (y < 320)
         {

             uint8_t w = CharWidth(c, FontTahoma_12); 
<-----------------------------------------
             if (x + w > 240)
             {
                 x = 0;
                 y += CharHeight(FontTahoma_12) + 2;
                 continue;
             }
             DrawChar(c, x, y, FontTahoma_12);
             x += w + 2;
             c++;
             if (c >= 0x80) c = 0x20;
         }

dostane do oznacene funkce hodnota c =0x80??? Evidentne je to 
optimalizaci (O1), pokud ji vypnu, funguje to OK, asi by pomohly i jine 
finty na promenne (volatile atp.) ale co je sakra spatne? Pri krokovani 
to ruzne poskakuje po radcich a nezjistim nic.
Mozna jsem jen pri sobote slepej nebo si na necem sedim, pujdu se projet 
na kole radsi ;-)

---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com



Další informace o konferenci Hw-list