Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
07/14/07 08:24
Read: times


 
#141868 - within a loop
Responding to: ???'s previous message
Erik Malund said:

now, visualize this one:
if (flag)
{
  ....
}
the compiler is fully justified in copying flag to a register and testing it there forever if flag is not declared volatile.

Maybe it's better to extend the example to:
while(1)
{
  if (flag) //should be sampled many times
    break;
}
If flag is not volatile the compiler may deduce flag does not change within the loop and change this to:
if (!flag) //but is sampled only once
{
  while(1) ;
}



List of 16 messages in thread
TopicAuthorDate
more to atomicity and such            01/01/70 00:00      
   Interesting example ...            01/01/70 00:00      
      which I did            01/01/70 00:00      
         Aside: Keil - Atomic functions            01/01/70 00:00      
            If you can afford it.            01/01/70 00:00      
         volatile            01/01/70 00:00      
            does this have some formal definition?            01/01/70 00:00      
               sequence points and side effects            01/01/70 00:00      
                  what's exactly the value of volatile, then?            01/01/70 00:00      
                     example            01/01/70 00:00      
                        bu what is it good for then?            01/01/70 00:00      
                           Ok, visualize this one            01/01/70 00:00      
                              within a loop            01/01/70 00:00      
                           Memory Mapped I/O            01/01/70 00:00      
                              OK I see it now, thanks.            01/01/70 00:00      
            volatile switch            01/01/70 00:00      

Back to Subject List