https://stackoverflow.com/questions/2304729/how-do-i-declare-an-array-created-using-malloc-to-be-volatile-in-c
看了这个贴子,结果越看约蒙,求解。。
volatile int * foo; // foo is a pointer to an int, volatile
我怎么感觉这个声明也对
另外有没有什么办法能看到这篇文章 http://www.embedded.com/story/OEG20010615S0107
1
afpro 2017-12-08 00:44:51 +08:00
volatile 内存是什么鬼。。。。。。
|
2
zhangzzzzz OP @afpro
擦..好丢人,我都没注意,顺着就打上字了 |
3
ryd994 2017-12-08 01:58:54 +08:00 via Android
volatile 的作用是阻止编译器优化,保证每次总是取实际内存
所以只要指针是 volatile,编译器就明白你的目的,因此对这个指针的操作就不再优化 话说回来,你为什么要 volatile 一个堆内存? volatile 一般是配合硬件 register 用的,因为这些 register 作为内存使用,但内容会被硬件修改。 |