Linux内核中的通用链表list.h在windows下的移植实现
发布日期:2019-11-08 07:00 来源:和记h88 发布人:和记娱乐 点击:
在windows的通用开发平台上,有MFC或者STL的支持,很少自己去编写一个链表list程序。现在把Linux下的list.h取出来,在Windows平台上实现:
我这里用的是Linux2.4版本的,2.6版本的其实都一样,下面是修改后的list.h源文件,注意几点:① 注释掉了和Linux相关的字眼,如第四行、第六行等,添加了prefetch(w)两个函数的实现;② 因为是在C语言下实现(不是C++),VC6-VC2005-VC2010编译器均不支持C99,而这些编译器遵循的C89规范里不支持inline关键字,所以关键字inline要去掉,直接查找替换为无即可,这一点和gcc的编译器不同;③ C语言里,函数中所有的变量定义一定要放在函数的开始部分,一次性定义完毕,不要在函数体内再定义变量,这一点高版本的VS2010也是如此。
对于复杂的宏定义,可以使用人工宏展开方式来查看:【Setting】 ->【C/C++】在底部的输入选项中,添加“/P”再次编译可以得到一个扩展名为i的文件,既是宏展开后的文件
和记娱乐,和记h88,h88平台官网