当前位置: 技术问答>linux和unix
一个简单的例子,求大家帮忙。
来源: 互联网 发布时间:2015-11-23
本文导语: 初学LINUX编程,这几天一直有个问题搞不定。 用的是Linux device driver 2nd上的例子,却怎么也运行不起来。 到目前为止只通了一个helloworld.c,真是受打击啊。 我就怎么也搞不懂下面这么小的一个程序它也不行: #ifndef...
初学LINUX编程,这几天一直有个问题搞不定。
用的是Linux device driver 2nd上的例子,却怎么也运行不起来。
到目前为止只通了一个helloworld.c,真是受打击啊。
我就怎么也搞不懂下面这么小的一个程序它也不行:
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include
#include "sysdep.h"
int slave_init(void)
{
MOD_INC_USE_COUNT;
MOD_DEC_USE_COUNT; /* Make it look "used once" */
return 0;
}
void slave_cleanup(void)
{}
module_init(slave_init);
module_exit(slave_cleanup);
我敲完代码,然后cc -c slave.c
但是一直有个错误说:
slave.c:9:20:sysdep.h:没有那个文件或目录
slave.c:In function 'slave_init':
slave.c:13:union has no member named 'usecount'
slave.c:14:union has no member named 'usecount'
slave.c:At top level:
slave.c:20:warning:parameter names(without types)in function declaration
slave.c:20:warning:data definition has no type or storage class
slave.c:21:warning:parameter names(without types)in function declaration
slave.c:21:warning:data definition has no type or storage class
我用的是VMware+redhat9.0,各位帮帮忙,俺实在没有信心拉。[p:4]
用的是Linux device driver 2nd上的例子,却怎么也运行不起来。
到目前为止只通了一个helloworld.c,真是受打击啊。
我就怎么也搞不懂下面这么小的一个程序它也不行:
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include
#include "sysdep.h"
int slave_init(void)
{
MOD_INC_USE_COUNT;
MOD_DEC_USE_COUNT; /* Make it look "used once" */
return 0;
}
void slave_cleanup(void)
{}
module_init(slave_init);
module_exit(slave_cleanup);
我敲完代码,然后cc -c slave.c
但是一直有个错误说:
slave.c:9:20:sysdep.h:没有那个文件或目录
slave.c:In function 'slave_init':
slave.c:13:union has no member named 'usecount'
slave.c:14:union has no member named 'usecount'
slave.c:At top level:
slave.c:20:warning:parameter names(without types)in function declaration
slave.c:20:warning:data definition has no type or storage class
slave.c:21:warning:parameter names(without types)in function declaration
slave.c:21:warning:data definition has no type or storage class
我用的是VMware+redhat9.0,各位帮帮忙,俺实在没有信心拉。[p:4]
|
书里的"sysdep.h"是作者写的,你得拷贝下来。