Chinaunix首页 | 论坛 | 博客
  • 博客访问: 431584
  • 博文数量: 103
  • 博客积分: 1455
  • 博客等级: 上尉
  • 技术积分: 1380
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-15 22:17
文章分类

全部博文(103)

文章存档

2013年(4)

2012年(99)

我的朋友

分类: LINUX

2012-09-17 21:04:15

在2.4内核版本的rhlinux中编译内核模块
发现file_operations这个结构体没有定义,编译信息显示
打开/usr/include/linux/fs.h中果然没能:/file_operations到
那在gcc -I/usr/src/linux-2.4/include/linux/fs.h中找到了需要的结构声明
怀疑默认的头文件库会首先调用,而-I下面的目录由于名字相同,优先级可能低于默认所以没能被调用
于是需要gcc编译的时候不要在标准系统目录中找头文件,查gcc手册找到-nostdinc这个命令
这样添加到命令中gcc -DMODULE -D_KERNEL_ -I/usr/src/linux-2.4/include/linux -nostdinc -c -o mod3.o mod3.c
 
同时有个问题使用printk(KERN_INFO"HELLO_INIT!\N");
编译会报KERN_INFO未定义,查看/usr/include/linux/kernel.h也没有:/到
应该修改后可以得到解决
阅读(4495) | 评论(0) | 转发(0) |
0

上一篇:vi常用命令

下一篇:昨天发的笔记不见了

给主人留下些什么吧!~~