当前位置: 技术问答>linux和unix
关于驱动模块的编译问题
来源: 互联网 发布时间:2015-05-24
本文导语: 我照着Linux设备驱动程序(第二版)中,第二章编辑了hello.c,清单: #define MODULE #include int init_module(void) { printk("Hello, worldn"); return 0;} void cleanup_module(void) { printk("Goodbye cruel worldn");} 用gcc -c hello.c 编译,但是...
我照着Linux设备驱动程序(第二版)中,第二章编辑了hello.c,清单:
#define MODULE
#include
int init_module(void) { printk("Hello, worldn"); return 0;}
void cleanup_module(void) { printk("Goodbye cruel worldn");}
用gcc -c hello.c 编译,但是出来很多错误,都是里边的,好像是什么地方没有设置对。
我刚学内核编程,请各位高手指点一下。
#define MODULE
#include
int init_module(void) { printk("Hello, worldn"); return 0;}
void cleanup_module(void) { printk("Goodbye cruel worldn");}
用gcc -c hello.c 编译,但是出来很多错误,都是里边的,好像是什么地方没有设置对。
我刚学内核编程,请各位高手指点一下。
|
我也是刚刚接触内和,但我是这样做的:
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-14/include -DMODULE -Wall -O2 -c hello.c -o hello.c
然后:insmod hello.o
由警告,但可以顺利加载
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-14/include -DMODULE -Wall -O2 -c hello.c -o hello.c
然后:insmod hello.o
由警告,但可以顺利加载
|
当然不能用gcc -c 编译了!
你没有看到他的makefile文件么? 要用-O选项优化呢!
我建议你先看一看makefile文件施用什么编译的噢!!
你没有看到他的makefile文件么? 要用-O选项优化呢!
我建议你先看一看makefile文件施用什么编译的噢!!
|
这样简单的例子不需要makefile,如果你对makefile非常熟悉的话也可以写一个。使用下面的命令就行了。
gcc -c -D__KERNEL__ -I/usr/src/linux-2.4/include hello.c
gcc -c -D__KERNEL__ -I/usr/src/linux-2.4/include hello.c