2011-12-15 128 views
1

我正在使用RHEL5内核2.6.33并运行GCC v4.1.2。CPU_ALLOC的声明在哪里?

在我的程序编译,我得到警告“功能CPU_ALLOC的隐式声明”和错误“未定义的引用‘CPU_ALLOC’。我得到CPU_ZERO_S,CPU_SET_S,CPU_FREE,numa_bitmask_alloc,numa_bitmask_setbit和numa_bitmask_free相同的警告和错误。

我明白,应该在sched.h中找到CPU_ALLOC,但我搜索了几个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_ *函数解决此问题?

谢谢。

问候, 雷恩

回答

2

您需要在含有CPU_ALLOC头文件如下。

#define _GNU_SOURCE 
#include <sched.h>