宏定义:
#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
分解:
typeof(x):取x的类型,如果x是int,那typeof(x)就是int
volatile:禁止优化,从内存取值
ACCESS_ONCE:将x从内存取值,防止因为cache存在导致的不一致
宏定义:
#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
分解:
typeof(x):取x的类型,如果x是int,那typeof(x)就是int
volatile:禁止优化,从内存取值
ACCESS_ONCE:将x从内存取值,防止因为cache存在导致的不一致
转载于:https://www.cnblogs.com/llc-blog/p/7123449.html