和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信科技

您的当前位置: 和记娱乐主页 > 通信科技 >

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平台官网