VxWorks上lstLib链表函数库的使用

VxWorks上lstLib定义链表操作的结构和函数,灵活使用会给编程带来很大方便
下面是一个例子,展示了LIST和NODE结构的定义,以及create,add和next方法

#include<vxworks.h>
#include<lstLib.h>

typedef struct cmdData
{
    NODE    node;
    UINT32  cmd;
    UINT32  cmdIdx;
}cmdDATA;


LIST cmdList;
cmdDATA *pCmd=NULL;

void createCmdList(void)
{
    int i=0;
    lstInit(&cmdList);
    for(i=0;i<20;i++)
    {
        pCmd=(cmdDATA *)calloc(1,sizeof(cmdDATA));
        pCmd->cmd=i+1;
        pCmd->cmdIdx=i;
        lstAdd(&cmdList,(NODE *)pCmd);
    }
}


void dumpCmdList(void)
{
    int count=0;
    cmdDATA *pCmd=NULL;
    for(pCmd=(cmdDATA *)lstFirst(&cmdList);
            pCmd!=NULL;
            pCmd=lstNext((NODE *)pCmd))
    {
        count++;
        printf("cmd=0x%4x,cmdId=0x%04x\n",pCmd->cmd,pCmd->cmdIdx);
    }
}

运行结果
这里写图片描述

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句
相关热词

没有更多推荐了,返回首页