Video File Metadata: First Thoughts
-
A few years ago, I published a series on metadata in image files with a
focus on old slides and photos that had been scanned. I've since turned my
attent...
2 days ago
When I supported the GNU compilers at Wind River, D'Anne Thompson made it clear that all global variables (both those visible to the linker and those visible throughout a source file) are volatile by *default*.
ReplyDeleteThis is because all the code in VxWorks (before version 6) is in the same address space. Every thread, driver, interrupt handler, etc. This means that between the time a function loads up a global variable and the time it trefers to it again, another thread (running code in another module or other code in the same module) may have changed it.
This situation is exactly why the keyword 'volatile' was invented.
It requires a lot of discipline to minimize or eliminate global or non-static variables from your code,
and it's worth it.