急!!请专家帮忙解答谢谢:如何将linux下的这个链表该成windows下能运行的链表结构(在VC中)

luo0227 2004-11-21 10:01:59
#ifndef _LINUX_LIST_H
#define _LINUX_LIST_H

#ifdef __KERNEL__

struct list_head {
  struct list_head *next, *prev;
};

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \
  struct list_head name = LIST_HEAD_INIT(name)

#define INIT_LIST_HEAD(ptr) do { \
  (ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)

/*
* Insert a new entry between two known consecutive entries.
* This is only for internal list manipulation where we know the prev/next entries already!
*/
static __inline__ void __list_add(struct list_head * new, struct list_head * prev, struct list_head * next)
{
  next->prev = new;
  new->next = next;
  new->prev = prev;
  prev->next = new;
}

/*
* list_add - add a new entry
* Insert a new entry after the specified head.
* This is good for implementing stacks.
*/
static __inline__ void list_add(struct list_head *new, struct list_head *head)
{
  __list_add(new, head, head->next);
}

/*
* list_add_tail - add a new entry
* Insert a new entry before the specified head.
* This is useful for implementing queues.
*/
static __inline__ void list_add_tail(struct list_head *new, struct list_head *head)
{
  __list_add(new, head->prev, head);
}

/*
* Delete a list entry by making the prev/next entries point to each other.
* This is only for internal list manipulation where we know the prev/next entries already!
*/
static __inline__ void __list_del(struct list_head * prev, struct list_head * next)
{
  next->prev = prev;
  prev->next = next;
}

/*
* list_del - deletes entry from list.
* Note: list_empty on entry does not return true after this, the entry is in an undefined state.
*/
static __inline__ void list_del(struct list_head *entry)
{
  __list_del(entry->prev, entry->next);
}

/**
* list_del_init - deletes entry from list and reinitialize it.
*/
static __inline__ void list_del_init(struct list_head *entry)
{
  __list_del(entry->prev, entry->next);
  INIT_LIST_HEAD(entry);
}

/*
* list_empty - tests whether a list is empty
*/
static __inline__ int list_empty(struct list_head *head)
{
  return head->next == head;
}

/**
* list_splice - join two lists
* @list: the new list to add.
* @head: the place to add it in the first list.
*/
static __inline__ void list_splice(struct list_head *list, struct list_head *head)
{
  struct list_head *first = list->next;

   if (first != list) {
    struct list_head *last = list->prev;
    struct list_head *at = head->next;
    first->prev = head;
    head->next = first;
    last->next = at;
    at->prev = last;
  }
}

/**
* list_entry - get the struct for this entry
* @ptr: the &struct list_head pointer.
* @type: the type of the struct this is embedded in.
* @member: the name of the list_struct within the struct.
*/
#define list_entry(ptr, type, member) \
  ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))

/**
* list_for_each - iterate over a list
* @pos: the &struct list_head to use as a loop counter.
* @head: the head for your list.
*/
#define list_for_each(pos, head) \
  for (pos = (head)->next; pos != (head); pos = pos->next)

#endif /* __KERNEL__ */

#endif
...全文
89 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
KYLib 2.0.4.0 (build 2009.02.18) KYLib 使用简单, 只要头文件包含有: #include "KYLib.h" 就可以了。 KYLib 有针对VC6, VS2003, VS2005等版本库, 而且基于KYLib开发的代码可以在VC不同版本平稳移植, 甚至可以平稳移植到Linux。 KYLib 提供的相关函数与Delphi基本相同, 提供丰富的函数和类, 如: a. 字符串类KYString与Delphi的String结构基本相似, 而且多线程安全稳定 b. TDateTime类型与Delphi的TDateTime类型完全相同, 而且支持相关的函数 c. 字符串操作相关函数 {Copy, Trim, UpperCase, SetLength, Format, SameText, CompareStr等等} d. 日期时间相关函数 {Date, Time, Now, FormatDateTime等等} e. 文件操作相关函数 {FileOpen, FileCreate, FileClose, FileExists, CreateDir, DeleteFile, ExtractFilePath等等} f. 编码相关函数 {CRC32 编码, Base64 编码, MD5 编码, 加密/解密编码} g. 线程类 {TThread, TKYThread, TKYRunThread等等} h. 文件类 {TFile, TKYDebugFile, TKYLogObj等等} i. ini文件类 {TIniFile, TMemIniFile等等} j. 列表类 {TKYList, TKYStringList, TKYCustomList, TKYNameStrList, TKYCode2Name等等} k. 链表类 {TKYQueue, TKYStack, TKYQueueEx, TKYStackEx等等} l. 句柄类 {TKYHandle, TKYMemHandle等等} m. 内存管理类 {TKYFormatBlock, TKYMemBlock等等} n. 线程同步类 {TKYCritSect, TKYLockRW, TKYEvent, TKYMutex, TKYSemaphore} o. 可变类型类 {TKYVarType, TKYField, TKYFieldDef等等} p. 接收缓冲区类 {TKYRecvBuffer, TKYRecvCache} q. Socket相关类 {TKYBaseSocket, TKYSockRecvThread, TKYUDPClient, TKYTCPClient等等} KYLib 是专业级类库, 具有高性能和高稳定的体系结构, 不是一般共享库能比拟。 KYLib 只提供.h, .obj和.lib文件, 供大家参考学习和使用。
KYLib 2.0.4.0 (build 2009.02.18) KYLib 使用简单, 只要头文件包含有: #include "KYLib.h" 就可以了。 KYLib 有针对VC6, VS2003, VS2005等版本库, 而且基于KYLib开发的代码可以在VC不同版本平稳移植, 甚至可以平稳移植到Linux。 KYLib 提供的相关函数与Delphi基本相同, 提供丰富的函数和类, 如: a. 字符串类KYString与Delphi的String结构基本相似, 而且多线程安全稳定 b. TDateTime类型与Delphi的TDateTime类型完全相同, 而且支持相关的函数 c. 字符串操作相关函数 {Copy, Trim, UpperCase, SetLength, Format, SameText, CompareStr等等} d. 日期时间相关函数 {Date, Time, Now, FormatDateTime等等} e. 文件操作相关函数 {FileOpen, FileCreate, FileClose, FileExists, CreateDir, DeleteFile, ExtractFilePath等等} f. 编码相关函数 {CRC32 编码, Base64 编码, MD5 编码, 加密/解密编码} g. 线程类 {TThread, TKYThread, TKYRunThread等等} h. 文件类 {TFile, TKYDebugFile, TKYLogObj等等} i. ini文件类 {TIniFile, TMemIniFile等等} j. 列表类 {TKYList, TKYStringList, TKYCustomList, TKYNameStrList, TKYCode2Name等等} k. 链表类 {TKYQueue, TKYStack, TKYQueueEx, TKYStackEx等等} l. 句柄类 {TKYHandle, TKYMemHandle等等} m. 内存管理类 {TKYFormatBlock, TKYMemBlock等等} n. 线程同步类 {TKYCritSect, TKYLockRW, TKYEvent, TKYMutex, TKYSemaphore} o. 可变类型类 {TKYVarType, TKYField, TKYFieldDef等等} p. 接收缓冲区类 {TKYRecvBuffer, TKYRecvCache} q. Socket相关类 {TKYBaseSocket, TKYSockRecvThread, TKYUDPClient, TKYTCPClient等等} KYLib 是专业级类库, 具有高性能和高稳定的体系结构, 不是一般共享库能比拟。 KYLib 只提供.h, .obj和.lib文件, 供大家参考学习和使用。
0 1.txt 2012-06-11 21:42 554,081 13 套ROOTKITS源码—Windows内核的安全防护.rar 2012-06-11 21:41 1,322,993 1)华为研发(pdf版).pdf 2012-06-11 21:07 9,883 806419蚁群算法程序.rar 2012-06-11 21:40 60 access连接字符串.txt 2012-06-11 21:08 666 adc-test.c 2012-06-11 21:07 765,000 AS3游戏编程大学.pdf 2012-06-11 21:40 750,563 ATL开发指南源码.rar 2012-06-11 21:05 186,863 BIOS练习工具加BIOS完全手册.rar 2012-06-11 21:03 340,134 C++ Primer Plus.第五版.习题解答和例题代码.rar 2012-06-11 21:03 956,190 C++ Primer文版(第4版)的源代码.rar 2012-06-11 21:12 1,386,523 C++-打飞机的游戏.rar 2012-06-11 21:06 78,719 C++USB接口的鼠标驱动源程序.rar 2012-06-11 21:07 50,067 C++VC编写的退火算法.rar 2012-06-11 21:06 67,891 C++一示所有点阵字库内容的工具源代码.rar 2012-06-11 21:11 60,547 C++工会管理系统源代码.rar 2012-06-11 21:22 2,618,588 COM技术内幕源码.rar 2012-06-11 21:16 97,280 C语言 内存管理详解.doc 2012-06-11 21:06 387,499 c语言写的一个多任务内核.rar 2012-06-11 21:15 6,669,174 C语言常用算法集(人手一份).pdf 2012-06-11 21:44 2,279 C语言编一个程序完成64位数据(无符号)的加法,减法运算.txt 2012-06-11 21:43 1,480,155 Direct3D加载3d文件.rar 2012-06-11 21:29 22,102 DSP编程一周通.rar 2012-06-11 21:04 837,926 fatfs-0.08b.zip 2012-06-11 21:11 48,640 FFT算法.doc 2012-06-11 21:28 10,891,658 GPS应用程序设计.程序源代码.rar 2012-06-11 21:20 610,619 gram_analysis.rar 2012-06-11 21:38 536,654 HTML、CSS、JavaScript标签参考.pdf 2012-06-11 21:00 29,184 inline-block深入理解.doc 2012-06-11 21:44 6,947,979 Linux内核完全注释V3.0书签版(带源码).rar 2012-06-11 21:31 11,599 MATLAB仿真程序OFDM程序.txt 2012-06-11 21:37 14,584,477 msdn for vb6.0简体文版.zip 2012-06-11 21:02 12,288 OpenCV 测试代码.doc 2012-06-11 21:41 0 OpenGL编程基础 源码.zip 2012-06-11 21:26 55,505 PHP实现多服务器共享SESSION数据.docx 2012-06-11 21:40 49,392 Pointers on C.zip 2012-06-11 21:22 3,386,253 RTOS_MDK uCOS-II for STM32(LCD5110).rar 2012-06-11 21:19 26,179 Ruby批量编译C源程序.pdf 2012-06-11 21:02 383,822 SPI总线操作E2PROM(本例为25AA020A)实例——浅影.pdf 2012-06-11 21:31 5,665 SSL欺骗全面解析.txt 2012-06-11 21:03 596,394 TC打地鼠.rar 2012-06-11 21:24 10,293 tftp.rar 2012-06-11 21:07 172,570 uC-GUI-字体转换.rar 2012-06-11 21:11 2,872,837 vb酒店客房管理信息系统.rar 2012-06-11 21:05 161,792 vb黑客木马编程(精选大全)(免费).doc 2012-06-11 21:01 909,116 VC++动态链接库(DLL)编程.pdf 2012-06-11 21:25 138,752 VC++开发BHO插件——定制你的浏览器.doc 2012-06-11 21:33 800,368 VC绘图 游戏简易教程.pdf 2012-06-11 21:41 21,331 ViewTextFileInWinCE-EVC源代码工程.rar 2012-06-11 21:11 27,271,175 Visual C++.NET小游戏开发时尚编程百例.rar 2012-06-11 21:42 275,968 Window7系统如何安装Visual_C++_6.0.doc 2012-06-11 21:26 2,399,725 windows API 一日一练.pdf 2012-06-11 21:28 249,332 Windows核心编程源码.rar 2012-06-11 21:40 1,000,923 Windows程序设计(第5版)配套代码.rar 2012-06-11 21:31 5,504,736 《PC游戏编程(网络游戏篇)》光盘源代码.rar 2012-06-11 21:09 461,754 一个各种着名算法问题的c源程序包,推荐.rar 2012-06-11 21:37 125,952 三种网页跳转代码.doc 2012-06-11 21:42 4,478,005 国象棋C++(1).rar 2012-06-11 21:42 4,478,005 国象棋C++.rar 2012-06-11 21:10 18,808 为智能电子钟添加阴历计时功能.rar 2012-06-11 21:35 38,896 二叉树的遍历.zip 2012-06-11 21:13 224,515 人脸识别源程序(1).rar 2012-06-11 21:13 224,515 人脸识别源程序.rar 2012-06-11 21:13 47,584 仿真终端vt100.rar 2012-06-11 21:35 50,176 关于c语言和汇编语言相互嵌套调用的学习总结.doc 2012-06-11 21:11 190,993 典型算法包.rar 2012-06-11 21:16 264,555 内存管理和设备调试文.pdf 2012-06-11 21:30 267,989 冈萨雷斯数字图像处理matlab版源码V1.1.3(1).rar 2012-06-11 21:30 267,989 冈萨雷斯数字图像处理matlab版源码V1.1.3.rar 2012-06-11 21:31 429,568 创建嵌入式操作系统.doc 2012-06-11 20:57 2,442 单向链表.txt 2012-06-11 21:10 10,962 单片机控制的仓库粮食害虫检测报警系统.rar 2012-06-11 21:44 0 哈希表实例.zip 2012-06-11 21:13 1,001,214 坦克游戏源代码.zip 2012-06-11 21:17 183,973 基于ATmega8 的ucos-II应用.rar 2012-06-11 21:01 12,345,799 基于FGPA的PCM编译码模块设计.zip 2012-06-11 21:06 3,769,694 基于LABVIEW编程环境的SQLSERVER ACCESS MYSQL 数据库的测试源代码.rar 2012-06-11 21:12 81,505 基于神经网络的文字识别系统.rar 2012-06-11 21:07 39,498 基因遗传算法.zip 2012-06-11 21:07 1,061 基本的时钟断程序.rar 2012-06-11 21:10 4,071,328 多用电热毯定时器.zip 2012-06-11 21:38 46,080 字符串的输入,删除练习.doc 2012-06-11 21:32 318,464 实验42:L298电机驱动程序(ATme.rar 2012-06-11 21:07 13,091 嵌入式拼音输入法C代码.rar 2012-06-11 21:12 64,623 巴特沃斯、切比雪夫I和椭圆滤波器设计的源程序.zip 2012-06-11 21:29 846,851 并行算法实践-mpi源程序.rar 2012-06-11 21:01 58,368 张军GPS高程总结.doc 2012-06-11 21:18 155,836 微博质量监控程序.rar 2012-06-11 21:35 535,650 微视图像采集卡驱动程序LV8.2.rar 2012-06-11 21:27 5,252 打印源代码.rar 2012-06-11 21:26 57,623 打开计算机的全新世界:云计算.txt 2012-06-11 21:13 98,245 扫雷游戏的源程序(1).zip 2012-06-11 21:13 98,245 扫雷游戏的源程序.zip 2012-06-11 21:40 346 插入排序.txt 2012-06-11 21:41 241,873 操作系统实验三-进程调度.rar 2012-06-11 21:10 16,944 数字闹钟源码.rar 2012-06-11 21:34 2,000,560 数据库登入界面.7z 2012-06-11 21:09 1,553,768 数据结构算法Visual.C.6.0程序集_源码.rar 2012-06-11 21:42 87,040 时域卷积定理的证明.ppt 2012-06-11 21:10 4,371 更改网关IP.rar 2012-06-11 20:57 1,419 栈的实现.txt 2012-06-11 21:18 57,078 汇编数显大型交通灯控制.rar 2012-06-11 21:35 1,055,980 流量计算.rar 2012-06-11 21:11 8,198,339 王凡的latex笔记源码v3.rar 2012-06-11 21:34 803 用MATLAB实现图像锐化的程序代码.m 2012-06-11 21:13 31,839 用Visual C++实现排序算法大全.rar 2012-06-11 21:09 27,688 用单片机制作的高精度数显计数器.rar 2012-06-11 21:10 9,654 用单片机实现公历到农历换算的新方法.zip 2012-06-11 21:08 2,318 用英文单词模拟数学计算代码.txt 2012-06-11 21:06 13,654 男生不应该误解女生的15个地方.docx 2012-06-11 21:34 16,410 病毒代码.txt 2012-06-11 21:36 142,693 直方图均衡化的c语言实现.rar 2012-06-11 20:58 58,895 矩形排样-源码.rar 2012-06-11 21:28 44,781 端口转发Consoletransport.rar 2012-06-11 21:02 1,503,848 第1章[1].ASP.NET_3.5与开发工具.pdf 2012-06-11 21:29 8,300 简单文字识别VC代码.txt 2012-06-11 21:32 9,279 粒子群算法的源代码.rar 2012-06-11 21:43 96,320 红黑树源程序.pdf 2012-06-11 21:08 302 给一批WORD加内容的宏.txt 2012-06-11 21:08 554,651 网上书店源码.rar 2012-06-11 21:17 2,668,543 网络爬虫之Java版.rar 2012-06-11 21:00 970,262 网马解密参考手册.pdf 2012-06-11 21:47 151,626,427 若干源程序资料12.rar 2012-06-11 21:43 2,086 获取磁盘剩余空间.ZIP 2012-06-11 21:11 4,731 蓝牙实例.rar 2012-06-11 21:05 11,460 蜂群算法C注释.doc 2012-06-11 21:15 2,194 计算器.rar 2012-06-11 21:39 2,815 课设1——图的创建与遍历.txt 2012-06-11 21:41 975,894 谁动了我的奶酪.pdf 2012-06-11 21:12 27,376 象棋游戏源代码.rar 2012-06-11 21:37 6,814 软件安装之--RPM命令大全!.txt 2012-06-11 21:04 740,663 连连看VB.rar 2012-06-11 21:40 66,980 速度很快解码.rar 2012-06-11 20:57 1,515 链表队列实现.txt 2012-06-11 20:57 9,070 队列的双向链表.txt 2012-06-11 21:39 7,887,246 静态页面开发全集.pdf 2012-06-11 21:13 370,209 飞鸽传书的源代码.rar 2012-06-11 21:33 774,071 高级Linux程序设计.pdf 2012-06-11 21:24 583,680 鸡蛋破损自动检测系统.doc

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧