我正在使用 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/