当前位置: 技术问答>linux和unix
编译时的一个警告,INIT_WORK的,在线等
来源: 互联网 发布时间:2016-12-14
本文导语: 447 INIT_WORK(&stuff->work, sculld_do_deferred_op); 5 main.c|447| warning: assignment from incompatible pointer type 参数的声明和定义如下: struct async_work { struct kiocb *iocb; int result; struct work_struct work; }; ...
447 INIT_WORK(&stuff->work, sculld_do_deferred_op);
5 main.c|447| warning: assignment from incompatible pointer type
参数的声明和定义如下:
struct async_work {
struct kiocb *iocb;
int result;
struct work_struct work;
};
struct async_work *stuff;
static void sculld_do_deferred_op(void *p)
不知道怎么回事?明明类型都对阿,怎么说指针类型不对呢?
求点拨
5 main.c|447| warning: assignment from incompatible pointer type
参数的声明和定义如下:
struct async_work {
struct kiocb *iocb;
int result;
struct work_struct work;
};
struct async_work *stuff;
static void sculld_do_deferred_op(void *p)
不知道怎么回事?明明类型都对阿,怎么说指针类型不对呢?
求点拨
|
readv() 和 writev() 方法,在file_operations 结构中,已经被移除,以有利于aio_readv() 和 aio_writev() (原型被改变了)。请看这篇文章:http://lwn.net/Articles/202449/。
google from:
http://www.chinaunix.net/jh/4/1040681.html
google from:
http://www.chinaunix.net/jh/4/1040681.html
|
work_struct里的那个data已经不是参数了,如果需要传参数,在你自己的结构体里加上个param,然后container_of过去最好。
|
static void sculld_do_deferred_op(void *p)
====>>
static void sculld_do_deferred_op((struct work_struct *)p)
====>>
static void sculld_do_deferred_op((struct work_struct *)p)
|
我帮你顶