2011-12-15 171 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>