📄 xalloc.h
字号:
/* xalloc.h
*
* (C) Copyright Dec 12 1995, Edmond J. Breen.
* ALL RIGHTS RESERVED.
* This code may be copied for personal, non-profit use only.
*
*/
#ifndef XALLOCH
#define XALLOCH
#define ymem
#ifdef ymem
#define xmalloc(N) ymalloc(__FILE__,__LINE__,N)
#define xcalloc(N,M) ycalloc(__FILE__,__LINE__,N,M)
#define xrealloc(N,M) yrealloc(__FILE__,__LINE__,N,M)
#define xfree(N) yfree(__FILE__,__LINE__,N)
#define xmark(N,M) ymark(__FILE__,__LINE__,N,M)
#define xmemcheck() ymemcheck(__FILE__,__LINE__)
#define xdumpnonmark(N,M) ydumpnonmark(N,M)
void xfreemark(char mark);
int xexchmark(char oldmark, char newmark);
int xlookup(void *p);
int getMemMark(unsigned long item);
void freeMemItem(unsigned long item);
void xalloc_CleanUp(size_t bot, size_t top);
size_t xalloc_NextEntryNum(void);
void *ymalloc(char *file,int lineno, size_t nbytes);
void *ycalloc(char *file,int lineno,size_t nelem,size_t elemsize);
void *yrealloc(char *file,int lineno,void *block, size_t nbytes);
void yfree(char *file,int lineno,void *block);
int ymark(char *file,int lineno,void *block,char mark);
void ydumpnonmark(char *outfile,char mark);
extern unsigned long tot_memory; /* total amount of memory allocated */
extern size_t tot_alloc; /* total number of blocks allocated */
extern size_t tot_seen; /* total number of blocks seen */
extern char XGMARK; /* memory mark, default = 0 */
#define MEM_LEAK 66
#define NON_LEAK 50
#define catchItem(X) {size_t x = X; if(tot_seen == x)\
printf("\n\tCAUGHT ITEM %lu at %d in %s\n\n",\
(unsigned long)x, __LINE__,__FILE__);}
#else
#define xmalloc(N) malloc(N)
#define xcalloc(N,M) calloc(N,M)
#define xrealloc(N,M) realloc(N,M)
#define xfree(N) free(N)
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -