make后出现的错误竟然与‘h’字符有关
hello.c文件:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");
static int _init hello_init(void)
{
printk("hello,it works!/n");
}
static void _exit hello_exit(void)
{
printk("bye/n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile文件:
obj-m:=hello.o
LINUX_PATH:=/usr/src/linux-3.2.50
all:
make -C $(LINUX_PATH) M=/home/Modules modules
clean:
make -C $(LINUX_PATH) M=/home/Modules clean
make后出现的错误:
发现程序中遇到 'h' 字符就识别不出来,这是怎么回事?
------解决方案--------------------dos2unix hello.c后再试试
------解决方案--------------------static int
_init hello_init(void)
红色的init前面需要两个下划线吧,
exit同理
------解决方案--------------------可以百度一下啊,不知道下面的有没有用
http://www.360doc.com/content/12/0215/12/6828497_186780520.shtml
http://blog.tianya.cn/blogger/post_show.asp?BlogID=420361&PostID=7778597
------解决方案--------------------Makefile文件中LINUX_PATH:=/usr/src/linux-3.2.50表示你当前KO模块依赖的内核版本是3.2.50,请问你当前系统的/usr/src/目录下还有其它版本的linux目录吗?先确定下你当前系统运行的内核版本是否是3.2.50