fatal error: asm/atomic.h: No such file or directory on debian10 os

fatal error: asm/atomic.h: No such file or directory on debian10 os

我的系统是debian 10,想实现原子操作,但是发现没有原子操作的头文件和API函数。怎么了?原子操作不是内核级函数吗?为什么不呢?

test_atomic.c:

#include <stdio.h>
#include <asm/atomic.h>

int main(void)
{
     printf("test atomic!\n");
     return 0;
}

编译错误:

# gcc test_atomic.c
test_atomic.c:2:10: fatal error: asm/atomic.h: No such file or directory
 #include <asm/atomic.h>
          ^~~~~~~~~~~~~~
compilation terminated.

man atomic API 错误:

# man atomic_add
No manual entry for atomic_add

要使用原子操作,您需要使用 #include <stdatomic.h>