Chinaunix首页 | 论坛 | 博客
  • 博客访问: 521816
  • 博文数量: 68
  • 博客积分: 2501
  • 博客等级: 大尉
  • 技术积分: 713
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 17:49
个人简介

文章分类

全部博文(68)

分类: LINUX

2010-05-21 16:48:52

总没有找到问题在哪里,今天能上网后在Google中找了一下,问题解决。

一、编译错误

错误:隐式声明函数‘get_usr’
错误:隐式声明函数‘put_usr’
而我是put_user和get_user搞成了,put_usr和get_usr,是按书的上例子来的,也不记得谁对谁错了。

二、警告

警告:ISO C90 不允许混合使用声明和代码

为了调试方便,我在最函数最前加了一句打印输出,结果就出现了上面的错误。一直觉得实在怪得很,看不出什么问题。今天偶然将这段代码改了一下就OK了。

xxx_read(struct ....)
{
printk("device file-read operation!\n");/*加了一输出语句*/
unsigned char status;
int loop;
for (loop = 0;loop status = inb(MINOR_READ_ADDR);
put_user(status,(char *) &buf[loop]);
}
return count;
}

改为下面的就好了!
xxx_read(struct ....)
{
unsigned char status;
int loop;
printk("device file-read operation!\n");/*将输出语句放在变量定义后面*/
for (loop = 0;loop status = inb(MINOR_READ_ADDR);
put_user(status,(char *) &buf[loop]);
}
return count;
}

阅读(1234) | 评论(0) | 转发(0) |
0

上一篇:C++程序启动过程

下一篇:总是问题太多。

给主人留下些什么吧!~~