首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

学习sed源码第三天之malloc和异常处理

2013-01-28 
学习sed源码第三天之malloc和错误处理今天继续重写sed源码,1.ck_malloc处理malloc失败,简单的2. panic 简

学习sed源码第三天之malloc和错误处理

今天继续重写sed源码,

1.  ck_malloc

处理malloc失败,简单的

2. panic 

简单的错误处理, APUE中已经有差不多代码


总之第三天是个轻松天


添加了utils.c文件,在想是不是该写Makefile了,等等把。

/** *  filename: utils.c  * *  created by jeff *  date:   2013.1.25 *  reason: first version * ***********************************************************/#if __STDC__#define VOID void#else#define VOID char#endif#include <stdio.h>#include <unistd.h>#include <stdarg.h>VOID *ck_malloc(int size);VOID panic(char*, ...);char* myname;/** *  malloc 失败处理 * */VOID *ck_malloc(int size){    VOID *ret;    if(!size)      size++;    ret=malloc(size);    if(ret ==(VOID*)0)        panic("Couldnot allocate memory");        return ret;}/** *  错误处理代码 *   */void panic(char* str, ... ){    va_list ap;    fprintf(stderr, "%s: ", myname);    va_start(ap, str);    vfprintf(stderr, str, ap);     va_end(ap);    putc('\n', stderr);    exit(4);}


热点排行