Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1384908
  • 博文数量: 120
  • 博客积分: 182
  • 博客等级: 入伍新兵
  • 技术积分: 2278
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-19 16:31
文章分类

全部博文(120)

文章存档

2015年(12)

2014年(13)

2013年(40)

2012年(55)

分类: LINUX

2014-03-19 17:33:32

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

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

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

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

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

阅读(18781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~