当前位置:  技术问答>linux和unix

简单模块程序,但是make不过去,请大家帮忙解决,谢谢!

    来源: 互联网  发布时间:2016-02-20

    本文导语:  在linux下按书上编写了一个简单模块程序,但是make不过去,请大家帮忙解决,谢谢! 程序hello.c: #include  static int count; static char *string; MODULE_PARM(count, "I"); MODULE_PARM(string, "S"); int init_module(void) {     printk("hello,...

在linux下按书上编写了一个简单模块程序,但是make不过去,请大家帮忙解决,谢谢!
程序hello.c:
#include 

static int count;

static char *string;



MODULE_PARM(count, "I");

MODULE_PARM(string, "S");



int init_module(void)

{

    printk("hello, I am the kernel module, n");

    printk("count->%d,n", count);

    printk("string->%s, n", string);

    return 0;

}

void cleanup_module(void)

{

    printk("Goodby,n");

}
Makefile文件为
DFLAGS = -D__KERNEL__ -DMODULE
CFLAGS = -O2 -g -Wall -Wstrict-prototypes -pipe -l/usr/include/linux/

hello.o:hello.c
    gcc -c hello.c $(DFLAGS) $(CFLAGS) -o hello.o
clean:
    rm -f *.o



make提示为:
Makefile:5: *** 遗漏分隔符 。 停止。

上面是倪继利老师书上的程序,为什么通不过???

|
看提示是Makefile错误,注意观察Makefile第5行

gcc -c hello.c $(DFLAGS) $(CFLAGS) -o hello.o 

gcc前面估计是几个空格,改成一个tab键,第7行的rm前面同理

|
你的那个Makefile是在早些kernel版本的写法,FC5已经不是这样的了
大概应该是这样:
ifneq ($(KERNELRELEASE),)
        obj-m := hello.o
else
        KERNELDIR ?= /lib/modules/$(shell uname -r)/build
        PWD := $(shell pwd)
default:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif

|
把 gcc 前的空格删掉, 然后用 Tab 

|
应该是没有正确包含linux内核的头文件

|
#include 
#include 

    
 
 

您可能感兴趣的文章:

  • 内核模块编译不过去,求助!
  • 大侠帮忙!模块调试(非内核模块)
  • 模块依赖小问题,请各位大大帮忙
  • 帮忙解决一道关于Linux内核模块的问题
  • make perl 模块的时候出错,make: *** No rule to make target,帮忙看看,谢谢。
  • 编译模块出错,大侠帮帮忙!
  • **内核模块编程,请各位大侠帮忙
  • 编译内核模块时出错,高手帮忙!
  • NOSQL iis7站长之家
  • 【求助】内核中使用EXPORT_SYMBOL,编译时调用模块提示undefined,请高手帮忙
  • 加载helloworld模块失败请高手帮忙!
  • 加载模块问题,希望大家能够帮帮忙,看看是那里的问题!
  • 请教 大家帮帮忙啊 Nachos的文件管理模块升级
  • 我的一个模块在rmmod之后再次insmod出现了段错误,大家帮忙看看
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python异常模块traceback用法举例
  • Linux中一个模块中的函数如何被另一个模块调用?
  • Python的MySQLdb模块安装
  • insmod模块无显示,但rmmod模块有显示
  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 传感器模块、gprs模块如何和我的2440开发板相连
  • 想删除内核中的一个模块,输入命令后,系统提示该模块不存在。但是我lsmod时,它在/proc/modules中。求解。
  • 驱动模块可以编入内核,想单独编译成模块,makefile怎么写?
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • 自己写的内核模块与用户模块通信(交互)
  • 如何停止模块运行
  • 弱弱的问一个关于"模块化编程"的问题
  • 模块的安装求助
  • 关于rsync同步模块配置问题
  • 自定义内核模块禁止启动图形界面
  • 使用非root用户加载模块出错
  • 如何想向内核添家一个自定义的模块?
  • 关于LINUX内核模块的按需卸载及安装
  • 驱动模块断电重加载问题
  • linux内核模块间调用函数
  • 内核模块和设备驱动的区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3