首先我们必须得知道动态链接库没有main函数,通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时,只需要连接上这个库即可。下面演示下:
首先是list.h 文件
#ifndef _LIST_H_
#define _LIST_H_
#include <string.h>
typedef struct _node_s
{
void * pdata; //头检点的数据域
struct _node_s *pnext;
}NODE_T,*pNode;
pNode list_init(void *data);
void list_add(pNode pHead,void *data);
int list_del(pNode pHead,int iIndex );
pNode list_getNode(pNode pHead,int index);
void* list_getNodeData(pNode pHead,int index);
int list_count(pNode pHead);
#endif
接下来是list.c文件
#include "list.h"
pNode list_init(void *data)
{
pNode pHead = NULL;
//1.申请一个节点
pHead = malloc(sizeof(pNode));
if(NULL == pHead)
{
printf("malloc faild! \n");
getchar();
// exit(-1); //程序退出
}
//2.初始化节点信息
//memset(pHead,0,sizeof(pNode));
pHead-&g