Category
Modifiers
Syntax
volatile <data definition> ;
Description
Use the volatile modifier to indicate that a background routine, an interrupt routine, or an I/O port can change a variable. Declaring an object to be volatile warns the compiler not to make assumptions concerning the value of the object while evaluating expressions in which it occurs because the value could change at any moment. It also prevents the compiler from making the variable a register variable.
volatile int ticks; void timer( ) { ticks++; } void wait (int interval) { ticks = 0; while (ticks < interval); // Do nothing }
The routines in this example (assuming timer has been properly associated with a hardware clock interrupt) implement a timed wait of ticks specified by the argument interval. A highly optimizing compiler might not load the value of ticks inside the test of the while loop since the loop doesn’t change the value of ticks.
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|