易截截图软件、单文件、免安装、纯绿色、仅160KB

LINUX C 链表封装


main.c
//初始化队列
void InitQueue(LiQueue *q)
{
  q=(LiQueue*)malloc(sizeof(LiQueue));
    q->front=q->rear=NULL;
}
//判断是否为空
int QueueEmpty(LiQueue *q)
{
 if(q->rear==NULL)
 {
  return 1;
 }
 else
 {
  return 0;
 }
}
//释放
void ClearQueue(LiQueue *q)
{
 QNode *p=q->front,*r;
 if(p!=NULL)
 {
  r=p->next;
  while(r!=NULL)
  {
   free(p);
   p=r;
   r=p->next;
  }
 }
 free(q);
}
//实现队列的入队
void enQueue(LiQueue *q,struct TCPMASSAGE stTcpSendBuff)
{
 //封装结点
 QNode *s;
 s=(QNode*)malloc(sizeof(QNode));
 memcpy(&s->data , &stTcpSendBuff , sizeof(stTcpSendBuff));
 //s->data =e;
 s->next=NULL;
 if(q->rear==NULL)
 {
  q->front =s;
  q->rear =s;
 }
 else
 {
  q->rear->next =s;
  q->rear =s;
 }
}
//出队函数
int deQueue(LiQueue *q,struct TCPMASSAGE stTcpSendBuff)
{
 QNode *t;
 if(q->rear ==NULL)
 {
    return 0;
 }
 if(q->front ==q->rear )//只有一个结点
 {
  t=q->front;
  q->front =NULL;
  q->rear =NULL;
 }
 else
 {
    t=q->front;
  q->front=q->front->next;
 }
 memcpy(stTcpSendBuff.cTcpBuff,t->data.cTcpBuff,t->data.len);
 stTcpSendBuff.len = t->data.len;
 free(t);
 return 1;
}
/*
//出队函数
int deQueue(LiQueue *q,char *pstbuff,int *lenth)
{
 QNode *t;
 if(q->rear ==NULL)
 {
    return 0;
 }
 if(q->front ==q->rear )//只有一个结点
 {
  t=q->front;
  q->front =NULL;
  q->r


相关文档:

手工释放linux内存

当在Linux下频繁存取文件
后,物理内存会很快被用光,当程序
结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决
的办法。那么我来谈谈这个问题。
一、通常情况
先来说说free命令

引用
[root@server ~]# free -m
total used free shared buffers cac ......

linux下的so、o、lo、a、la文件有什么区别?

o: 编译的目标文件
a: 静态库,其实就是把若干o文件打了个包
so: 动态链接库(共享库)
lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
 
1 libtool的工作原理
libtool 是一个通用库支持脚本,将使用 ......

简说linux内核编译(简单却很实用)

一、下载安装程序
1、  下载内核源码(linux-2.6.33.tar.bz2),位置:https://www.kernel.org
2、  下载最新版的module-init-tools(module-init-tools-3.8.tar.bz2)和modutils(modutils-2.4.26-1.src.rpm)的源码
位置:http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
位置:http://www. ......

Linux驱动开发学习步骤

1. 学会写简单的makefile
    2. 编一应用程序,可以用makefile跑起来
    3. 学会写驱动的makefile
    4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。
  &n ......

linux驱动程序实例

本例是冯国进的 《嵌入式Linux 驱动程序设计从入门到精通》的第一个例子
感觉真是好书   强烈推荐
注释是deep_pro加的 转载请注明!我的特点是文不加点!
这个驱动是在内存中分配一个256字节的空间,供用户态应用程序读写。
先是头文件 demo.h
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioct ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号