/usr/src/kernels/2.6.18-194.el5-x86_64/include/linux/hardirq.h:55:2: 错误:#error PREEMPT_ACTIVE is too low!
/usr/src/kernels/2.6.18-194.el5-x86_64/include/linux/bitops.h: In function ‘int get_bitmask_order(unsigned int)’:
/usr/src/kernels/2.6.18-194.el5-x86_64/include/linux/bitops.h:15: 错误:‘fls’ 在此作用域中尚未声明
等问题(问题较多不一一列举)。为什么会有这样的问题呢?大家在包含<linux/delay.h>时遇到过这样的问题吗?
3 个解决方案
#1
这是编译应用程序?
linux系统调用和c库没有定义msleep吧
编译应用程序使用内核的头文件,报错是难免的
建议使用usleep或者自己定义一个msleep
linux系统调用和c库没有定义msleep吧
编译应用程序使用内核的头文件,报错是难免的
建议使用usleep或者自己定义一个msleep
#2
恩,我后来改用了usleep,参数默认的乘上1000。这样就不用包内核的头文件了,也没错了。但是还是奇怪为什么内核里的头文件不能用呢?我看别人的程序都是<linux/delay.h>这样包的,然后使用里面的msleep的啊!
#3
别人或许是编译内核模块或者已经重定义过msleep了
#1
这是编译应用程序?
linux系统调用和c库没有定义msleep吧
编译应用程序使用内核的头文件,报错是难免的
建议使用usleep或者自己定义一个msleep
linux系统调用和c库没有定义msleep吧
编译应用程序使用内核的头文件,报错是难免的
建议使用usleep或者自己定义一个msleep
#2
恩,我后来改用了usleep,参数默认的乘上1000。这样就不用包内核的头文件了,也没错了。但是还是奇怪为什么内核里的头文件不能用呢?我看别人的程序都是<linux/delay.h>这样包的,然后使用里面的msleep的啊!
#3
别人或许是编译内核模块或者已经重定义过msleep了