关于学内核的初级问题
时间:2006-03-31
来源:互联网
刚刚才开始看关于内核方面的编程, 但是出现了好多不懂的地方,希望大家不吝赐教啊!~谢谢
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include <linux/config.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
#ifdef CONFIG_SMP
#define __SMP__
#endif
#include <linux/kernel.h> /* printk()在这个文件里 */
static int
init_module
(){
printk("Hello,World!\n");
return 0; /* 如果初始工作失败,就返回非0 */
}
static void
cleanup_module
(){
printk("Bye!\n");
}
但是却输出了好多的错误:错误太多了,只复制了一点.
/usr/include/linux/module.h:50: 错误:字段 ‘attr’ 的类型不完全
/usr/include/linux/module.h:51: 错误:syntax error before ‘ssize_t’
/usr/include/linux/module.h:52: 错误:syntax error before ‘*’ token
/usr/include/linux/module.h:53: 错误:syntax error before ‘size_t’
/usr/include/linux/module.h:53: 错误:‘ssize_t’ 声明为返回一个函数的函数
/usr/include/linux/module.h:57: 错误:syntax error before ‘}’ token
/usr/include/linux/module.h:219: 错误:字段 ‘mattr’ 的类型不完全
hello.c:20: 错误:对 ‘init_module’ 的静态声明出现在非静态声明之后
/usr/include/linux/module.h:66: 错误:‘init_module’ 的上一个声明在此
hello.c:27: 错误:对 ‘cleanup_module’ 的静态声明出现在非静态声明之后
/usr/include/linux/module.h:67: 错误:‘cleanup_module’ 的上一个声明在此
谁能告诉我怎么办啊?
非常感谢!
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include <linux/config.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
#ifdef CONFIG_SMP
#define __SMP__
#endif
#include <linux/kernel.h> /* printk()在这个文件里 */
static int
init_module
(){
printk("Hello,World!\n");
return 0; /* 如果初始工作失败,就返回非0 */
}
static void
cleanup_module
(){
printk("Bye!\n");
}
但是却输出了好多的错误:错误太多了,只复制了一点.
/usr/include/linux/module.h:50: 错误:字段 ‘attr’ 的类型不完全
/usr/include/linux/module.h:51: 错误:syntax error before ‘ssize_t’
/usr/include/linux/module.h:52: 错误:syntax error before ‘*’ token
/usr/include/linux/module.h:53: 错误:syntax error before ‘size_t’
/usr/include/linux/module.h:53: 错误:‘ssize_t’ 声明为返回一个函数的函数
/usr/include/linux/module.h:57: 错误:syntax error before ‘}’ token
/usr/include/linux/module.h:219: 错误:字段 ‘mattr’ 的类型不完全
hello.c:20: 错误:对 ‘init_module’ 的静态声明出现在非静态声明之后
/usr/include/linux/module.h:66: 错误:‘init_module’ 的上一个声明在此
hello.c:27: 错误:对 ‘cleanup_module’ 的静态声明出现在非静态声明之后
/usr/include/linux/module.h:67: 错误:‘cleanup_module’ 的上一个声明在此
谁能告诉我怎么办啊?
非常感谢!
作者: scutan 发布时间: 2006-03-31
编译时 gcc -I/usr/src/linux/include -nostdinc ,避免使用 /usr/include/linux 中的头文件。
作者: crquan 发布时间: 2006-03-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28