linux - CPU_ALLOC的声明在哪里?

标签 linux declaration header-files

我正在使用 RHEL5 内核 2.6.33 并运行 GCC v4.1.2。

在程序编译过程中,我收到警告“函数 CPU_ALLOC 的隐式声明”和错误“未定义对‘CPU_ALLOC’的引用”。对于 CPU_ZERO_S、CPU_SET_S、CPU_FREE、numa_bitmask_alloc、numa_bitmask_setbit 和 numa_bitmask_free,我收到相同的警告和错误。

我知道CPU_ALLOC应该在sched.h中找到,但是我搜索了几个sched.h(/usr/include/sched.h,/usr/include/bits/sched.h,/usr/include/linux/sched.h、/usr/src/kernels/linux-2.6.33.1/include/linux/sched.h),并且找不到 CPU_ALLOC。

我已经尝试了 #include <sched.h>#include "/usr/include/sched.h" ,但我仍然有错误。

我在这个 website 上找到了 CPU_ALLOC 和其他函数的声明。这是我的系统上应该有的文件吗?

如何使用 CPU_* 和 numa_bitmask_* 函数解决此问题?

谢谢。

问候, 雷恩

最佳答案

您需要在包含 CPU_ALLOC 的头文件中包含以下内容。

#define _GNU_SOURCE
#include <sched.h>

关于linux - CPU_ALLOC的声明在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518264/

相关文章:

linux - 当文件的第二列与另一个文件中的值匹配时如何从文件中提取行

swift - Swift 中对象声明的区别

c - 为什么 "volatile"只要求数组声明定义一致性?

c++ - 使用一个大包含文件的优点/缺点

c++ - 关于在头文件中声明大小的查询

c++ - iostream 头文件是否仅包含声明?

linux - 如何使用 TC 和 NETEM 在没有数据包重新排序的情况下模拟抖动?

linux - Tcl 期待 : How can you expect 2 matches in 1 line

linux - 如何使用 iptables 调节输出流量

c++ - 使用非常量变量声明局部数组来设置长度,它有效吗?