错误:提领指向不完全类型的指针

19250阅读 0评论2014-03-19 Helianthus_lu
分类:LINUX

今天在make一个内核模块的时候,出现了这个问题(其实是两个问题):

第一个问题的出现开始觉得很诡异,以前确实没遇到过。我的出问题的代码是:

我包含了(这是current对应的struct task_struct结构体所在的头文件)但是还是报错。。。
在网上搜了下,说是因为缺少头文件,对结构体来说,虽然默认的访问控制权限是公开的,但是如果想要访问里面的成员变量,
就必须包含对其结构的访问,或者包含直接定义该结构体的头文件就好了。这样试了下,分别又加上struct fs_struct,struct dentry,struct path(包含dentry)对应的头文件,确实问题解决了。

第二个警告问题:这是规则,ISO C90不允许混合使用声明和代码,没办法吧。我的代码本来是这样的:

按照规则,应该改为下面的就正确了:

上一篇:make *** 没有指明目标并且找不到 makefile。 停止。
下一篇:linux内存管理中系统内存相关的参数说明(一)