gcc是否保证对volatile变量的对齐访问是原子的?

时间:2016-04-09 16:16:54

标签: c++ c gcc

gcc(对于C和C ++)是否保证对volatile对象的对齐访问是原子的?

*((volatile unsigned int*)ADDRESS_DIVISIBLE_BY_4) = SOME_CONSTANT;

如果unsigned int size为4,是否保证上面一行后面的商店机器指令不会被撕掉?

注意:这个问题只涉及原子性,而不是排序。 与并发无关,而与内存映射寄存器无关,可能需要一步存储指令。

1 个答案:

答案 0 :(得分:2)

永远不能认为挥发性是原子的。它是almost useless from the point of view of concurrency