当前位置: 技术问答>驱动模块断电重加载问题
iis7站长之家
模块编译的问题!
来源: 互联网 发布时间:2015-03-25
本文导语: 我写了个简单模块程序 /*char.c */ #include #include #include ... .. int init_module(void) { return(0); } void cleanup_module(void) { } gcc -D__KERNEL__ -DMODULE -DLINUX -I/usr/src/linux/include/linux -c char.c 但是编译出现了大量parse...
我写了个简单模块程序
/*char.c
*/
#include
#include
#include
... ..
int init_module(void)
{
return(0);
}
void cleanup_module(void)
{
}
gcc -D__KERNEL__ -DMODULE -DLINUX -I/usr/src/linux/include/linux -c char.c
但是编译出现了大量parse 问题,以及dereferencing问题 ,如果我把mm.h等头文件注释掉,问题解决,
这是什么原因呢?我的头文件环境应该是正确的。
/*char.c
*/
#include
#include
#include
... ..
int init_module(void)
{
return(0);
}
void cleanup_module(void)
{
}
gcc -D__KERNEL__ -DMODULE -DLINUX -I/usr/src/linux/include/linux -c char.c
但是编译出现了大量parse 问题,以及dereferencing问题 ,如果我把mm.h等头文件注释掉,问题解决,
这是什么原因呢?我的头文件环境应该是正确的。
|
你已经指定了“linux/……”,应该写“-I/usr/src/linux/include”,你看你的出错提示都是include的“/usr/include/linux”路径。
|
同意! 不过我认为可能不存在该路径/usr/src/linux/include。
编译选项-I/usr/src/linux/include/linux 可能不对
通常是 -I/usr/src/linux/include/
编译选项-I/usr/src/linux/include/linux 可能不对
通常是 -I/usr/src/linux/include/
|
很多时候/usr/include/linux都是链到/usr/src/include里来
所以,平时都是-I/usr/include就行
所以,平时都是-I/usr/include就行
|
是不是gcc -DKERNEL啊