mem.h
资源名称:c.rar [点击查看]
上传用户:shmaik
上传日期:2014-06-01
资源大小:45093k
文件大小:1k
源码类别:

VC书籍

开发平台:

C/C++

  1. /* $Id: H:/drh/idioms/book/RCS/mem.doc,v 1.12 1997/10/27 23:08:05 drh Exp $ */
  2. #ifndef MEM_INCLUDED
  3. #define MEM_INCLUDED
  4. #include "except.h"
  5. extern const Except_T Mem_Failed;
  6. extern void *Mem_alloc (long nbytes,
  7. const char *file, int line);
  8. extern void *Mem_calloc(long count, long nbytes,
  9. const char *file, int line);
  10. extern void Mem_free(void *ptr,
  11. const char *file, int line);
  12. extern void *Mem_resize(void *ptr, long nbytes,
  13. const char *file, int line);
  14. #define ALLOC(nbytes) 
  15. Mem_alloc((nbytes), __FILE__, __LINE__)
  16. #define CALLOC(count, nbytes) 
  17. Mem_calloc((count), (nbytes), __FILE__, __LINE__)
  18. #define  NEW(p) ((p) = ALLOC((long)sizeof *(p)))
  19. #define NEW0(p) ((p) = CALLOC(1, (long)sizeof *(p)))
  20. #define FREE(ptr) ((void)(Mem_free((ptr), 
  21. __FILE__, __LINE__), (ptr) = 0))
  22. #define RESIZE(ptr, nbytes)  ((ptr) = Mem_resize((ptr), 
  23. (nbytes), __FILE__, __LINE__))
  24. #endif