免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3875 | 回复: 4
打印 上一主题 下一主题

关于2.4和2.6下面编译模块命令的不同 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-16 08:48 |只看该作者 |倒序浏览
呵呵,大家好关于2.4和2.6编译的差别
我在2.4下面使用下面的编译命令可以成功编译加载模块
gcc -O2 -g -Wall -DMODULE -D__KERNEL__ -I/usr/src/linux-2.4/include -c nrgcc.c
在2.6下面的编译格式是怎么的啊?-I后面跟的路径是什么啊?我只装了2.4
所以想了解一下2.6的是怎么样编译的?
谢谢,有高手教我吗?希望给个正确的2.6的编译格式

论坛徽章:
0
2 [报告]
发表于 2007-05-16 09:10 |只看该作者
原帖由 loveskyer 于 2007-5-16 08:48 发表于 1楼  
呵呵,大家好关于2.4和2.6编译的差别
我在2.4下面使用下面的编译命令可以成功编译加载模块
gcc -O2 -g -Wall -DMODULE -D__KERNEL__ -I/usr/src/linux-2.4/include -c nrgcc.c
在2.6下面的编译格式是 ...

  1. # Makefile2.6
  2. obj-m := mymodule.o
  3. PWD  := $(shell pwd)
  4. KVER := $(shell uname -r)
  5. KDIR := /lib/modules/$(KVER)/build
  6. default:
  7.         make -C $(KDIR) M=$(PWD) modules
  8. install:
  9.                 insmod mymodule.ko
  10. uninstall:
  11.                 rmmod mymodule
  12. clean:
  13.                 rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions
复制代码

论坛徽章:
0
3 [报告]
发表于 2007-05-16 10:02 |只看该作者
本版精华区有文章

论坛徽章:
0
4 [报告]
发表于 2007-05-16 14:33 |只看该作者

回复 #2 scutan 的帖子

多问一下!!!

# Makefile2.6
obj-m := mymodule.o
PWD  := $(shell pwd)
KVER := $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
default:
        make -C $(KDIR) M=$(PWD) modules
install:
                insmod mymodule.ko
uninstall:
                rmmod mymodule
clean:
                rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions

-------------------
这样编译出来的模块好大的, 怎么可以优化??

在2.4下有-O2, 2.6下我找了好长时间, 我那个东东在2.4下只有60K在2.6下变成2.3M了!!!

why????????

论坛徽章:
0
5 [报告]
发表于 2007-05-16 14:56 |只看该作者

回复 #4 g_hk 的帖子

找了半天, 知道了, 配置kernel .config文件就OK了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP