什么是内核污染?
时间:2004-11-10
来源:互联网
?????
作者: zengjin 发布时间: 2004-11-10
我只见过写自己的Kernel module时如果不用
MODULE_LICENSE("...")
至少声明一种LICENSE的话就会产生kenrel tainted,:-)
MODULE_LICENSE("...")
至少声明一种LICENSE的话就会产生kenrel tainted,:-)
作者: crquan 发布时间: 2004-11-11
准确来说是命名空间污染。
这是由于C没有显式的命名冲突解决机制而导致的。
这是由于C没有显式的命名冲突解决机制而导致的。
作者: home_king 发布时间: 2004-12-11
内核模块变量的命名吧
作者: suowei1979 发布时间: 2004-12-19
内核模块与应用程序的另一个区别是,你得小心“名字空间污染”问题。程序员在写小程序时,往往不注意程序的名字空间,但当这些小程序成为大程序的一部分时就会造成许多问题了。名字空间污染是指当存在很多函数和全局变量时,它们的名字已不再富有足够的意义来很容易的区分彼此的问题。不得不处理这种应用程序的程序员必须花很大的精力来单单记住这些“保留”名,并为新符号寻找新的唯一的名字。如果在写内核代码时出现这样的错误,这对我们来说是无法忍受的,因为即便最小的模块也要连编到整个内核中。防止名字空间污染的最佳方法是把所有你自己的符号都声明为static的,而且给所有的全局量加一个well-defined前缀。此外,你还可以通过声明一个符号表来避免使用static声明,这些内容将在本章的“注册符号表”小节中介绍。即便是模块内的私有符号也最好使用选定的前缀,这样有时会减轻调试的工作。通常,内核中使用的前缀都是小写的,今后我们将贯彻这一约定。
摘自 LINUX DEVICES DRIVERS
摘自 LINUX DEVICES DRIVERS
作者: z21921 发布时间: 2004-12-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28