当前位置: 技术问答>linux和unix
linux中为什么有很多重复的功能实现
来源: 互联网 发布时间:2016-08-13
本文导语: 看linux内核代码时,用lxr搜了下memcpy,发现在很多地方都有这个函数的实现。另外不只这个函数,我也看到很多变量和函数在不同的地方有重复的定义和实现(一般都是在arch目录下)。 我也知道arch目录下都是硬件相关...
看linux内核代码时,用lxr搜了下memcpy,发现在很多地方都有这个函数的实现。另外不只这个函数,我也看到很多变量和函数在不同的地方有重复的定义和实现(一般都是在arch目录下)。 我也知道arch目录下都是硬件相关的,但是像memcpy这样的函数完全可以抽取出来放在一个统一的模块中嘛。
为什么会向现在这样分布的到处都是,这是有什么技术上的考虑还是linux内核本身的源代码管理没有做好? 望大家指点一二,先谢过了
为什么会向现在这样分布的到处都是,这是有什么技术上的考虑还是linux内核本身的源代码管理没有做好? 望大家指点一二,先谢过了
|
快速实现memcpy可能会用到一些寄存器和汇编,这就和体系结构相关了
|
同意二楼的说法,譬如Intel有自己的扩展寄存器等,和体系结构相关的实现方法会存在多种。
另外Linux kernel中确实有许多模块的变量名以及函数名相同,譬如task_struct等等,但是有些是static定义,互相并不影响。
另外Linux kernel中确实有许多模块的变量名以及函数名相同,譬如task_struct等等,但是有些是static定义,互相并不影响。