每个现代操作系统都提供了一些原子操作
Interlocked*
API<machine/atomic.h>
<atomic.h>
<libkern/OSAtomic.h>
任何类似于Linux的东西?
问题:
__sync_*
在所有平台(ARM)上都不受支持,并且不受英特尔编译器支持。<asm/atomic.h>
不应该用于用户空间,我没有成功地使用它。另外,我不确定它是否适用于英特尔编译器。发布于 2018-03-15 15:22:41
项目正在使用这个:
http://packages.debian.org/source/sid/libatomic-ops
如果你想要简单的操作,例如CAS,你不能只使用内核中特定于arch的实现,并且使用autotools / cmake在用户空间中进行arch检查。
https://stackoverflow.com/questions/-100004263
复制相似问题