当前位置: 技术问答>linux和unix
请问各位是怎样针对不同内核版本来维护程序代码的呢?
来源: 互联网 发布时间:2015-11-04
本文导语: 是在代码中用类似这样的 #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,44) ) 来设置条件编译,还是不同内核版本对应一个完整的代码打包呢? 第一种方法的话,是很方便的,可感觉程序可读性降低很多啊,而且要求对每个内核...
是在代码中用类似这样的 #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,44) )
来设置条件编译,还是不同内核版本对应一个完整的代码打包呢?
第一种方法的话,是很方便的,可感觉程序可读性降低很多啊,而且要求对每个内核版本的源码异同十分了解才行吧?
请指点一二了,谢谢 :)
来设置条件编译,还是不同内核版本对应一个完整的代码打包呢?
第一种方法的话,是很方便的,可感觉程序可读性降低很多啊,而且要求对每个内核版本的源码异同十分了解才行吧?
请指点一二了,谢谢 :)
|
好像也只能这样 :(
可以自己定一些编程规范来提高可读性,如规定将需要条件编译的部分尽量放到一个函数里,这样不影响调用函数的可读性,而有条件编译的子函数尽量的小,是强内聚。
说的有点乱,例子:
int main_func()
{
//需条件编译的部分
f1();
//公用代码段1
。。。
//需条件编译的部分
f2();
//公用代码段2
。。。
}
可以自己定一些编程规范来提高可读性,如规定将需要条件编译的部分尽量放到一个函数里,这样不影响调用函数的可读性,而有条件编译的子函数尽量的小,是强内聚。
说的有点乱,例子:
int main_func()
{
//需条件编译的部分
f1();
//公用代码段1
。。。
//需条件编译的部分
f2();
//公用代码段2
。。。
}