LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 921|回复: 1

内核2.6.16的一个头文件的修改

[复制链接]
发表于 2006-4-4 11:19:20 | 显示全部楼层 |阅读模式
注意到从2.6.16版本开始,linux的内核中include/net/inet_common.h的头文件有修改,第四和第五行inet_stream_ops和inet_dgram_ops被声明成了常量。这造成我的一个第三方内核模块不能编译,因为这个模块在工作的时候需要对inet_stream_ops和inet_dgram_ops进行赋值的操作。在新版的内核中因为这两个量被声明成了常量,当然也就编译不能通过了。目前本人对于内核编程方面基本不懂,我想知道的是声明成常量是为了什么?我猜是安全方面的原因。如果确实需要对数据进行修改,那么新版的内核是否会提供直接赋值之外的操作方法呢?我对那个模块该怎么改,而不是去动内核呢?因为我也不知道,改那个头文件的定义是否会对对系统产生其他的影响。并且为一个模块去发布一个内核补丁,实在没有必要。请大家指点!
发表于 2006-5-4 00:47:47 | 显示全部楼层
没关系,你在编译内核时不要修改此头文件,但当编译模块时,把它改成非常不就行了,是不是常量没关系,只是编译时编译器是否允许其它地方进行修改,但是运行时谁也管不了的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表