Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Advanced
Apr 26, 1999

The Volatile Storage Qualifier

The const qualifier guarantees that the value of an object cannot be changed directly by the program. However, it may be altered asynchronously--that is, by a way unknown to the compiler. For example, the current bit rate of a modem can be read directly from its port and stored in a const variable. However, it can have different values during the execution of the program, due to the varying line conditions. The compiler can mistakenly assume that the value is immutable and store it in a machine register as an optimization measure, rather than read it from the modem's port. The volatile qualifier instructs the compiler to read the value of the variable from its source (in this case, the modem port) every time it is accessed, instead of storing it in a faster processor register. The generated code may be less efficient in this case, but it is correct.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date