Search results
- Dictionaryvolatile/ˈvɒlətʌɪl/
adjective
- 1. (of a substance) easily evaporated at normal temperatures: "volatile solvents such as petroleum ether, hexane, and benzene" Similar
- 2. liable to change rapidly and unpredictably, especially for the worse: "the political situation was becoming more volatile" Similar Opposite
noun
- 1. a volatile substance.
Powered by Oxford Dictionaries
Oct 29, 2008 · 259. volatile in C actually came into existence for the purpose of not caching the values of the variable automatically. It will tell the compiler not to cache the value of this variable. So it will generate code to take the value of the given volatile variable from the main memory every time it encounters it.
volatile is needed when developing embedded systems or device drivers, where you need to read or write a memory-mapped hardware device. The contents of a particular device register could change at any time, so you need the volatile keyword to ensure that such accesses aren't optimised away by the compiler.
Jun 19, 2023 · Accesses (reads and writes) to volatile objects occur strictly according to the semantics of the expressions in which they occur. In particular, they are not reordered with respect to other volatile accesses on the same thread. I wrote a simple C++ program that sums all the values in an array to compare the behaviour of plain ints vs. volatile ints
Feb 3, 2011 · 12. In Java, volatile has a similar general meaning as it does in C. The Java Memory Model (see the excellent link in ide's answer) allows threads to "see" a different value at the same time for variables marked as non-volatile. For example: Thread a: n = 1; // wait... n = 2; Threads B and C:
Jan 13, 2016 · Analyzing (*((volatile uint32_t *)0x40000000)) 0x40000000 is the address of register in your micro memory map. the register is 32 bits wide, that means must be uint32_t *. volatile is added to tell compile to avoid to optimize that variable because of could change, for example, in an interrupt routine. last: the * dereference the pointer: make ...
The volatile keyword is used in C to prevent the compiler performing certain optimizations, amongst other subtle changes, on a variable. For example; volatile int my_int = 0; creates an integer. In some situations it may prevent the following optimization: while(my_int == 0); // Loop until my_int != 0. Optimize to:
Sep 13, 2013 · The volatile keyword grossly means that the compiler should really access and write the qualified data at each occurrence. As a stupid example, consider the loop. #define REG(x) (*((volatile unsigned int *)(x))) for (REG(0x1234)=0; REG(0x1234)<10; REG(0x1234)++) dosomethingwith(REG(0x1234)*2); If you did not put the volatile keyword, an ...
Mar 21, 2019 · Dec 21, 2010 at 9:41. 14. It is true though that the properties of volatile are related to threading. Using volatile on a variable shared between threads can change the semantics of your program. volatile just isn't strong enough to change the semantics to anything useful or well-defined. – Stack Overflow is garbage.
volatile will tell the compiler not to optimise code related the variable, usually when we know it can be changed from "outside", e.g. by another thread. const will tell the compiler that it is forbidden for the program to modify the variable's value. const volatile is a very special thing you'll probably see used exactly 0 times in your life (tm).
Jun 11, 2009 · Just a warning on the C/C++ volatile keyword. Unless you know what you are doing you should never use it. C/C++ volatile != java/C# volatile volatile does not help in threaded code unless you really know what you are doing, you need to use C++0x atomic template (or something similar).