标签: c++ c gcc
gcc(对于C和C ++)是否保证对volatile对象的对齐访问是原子的?
*((volatile unsigned int*)ADDRESS_DIVISIBLE_BY_4) = SOME_CONSTANT;
如果unsigned int size为4,是否保证上面一行后面的商店机器指令不会被撕掉?
注意:这个问题只涉及原子性,而不是排序。 与并发无关,而与内存映射寄存器无关,可能需要一步存储指令。
答案 0 :(得分:2)
永远不能认为挥发性是原子的。它是almost useless from the point of view of concurrency。