📄 extras.h
字号:
/***************************************************************************** extras.h -- commonly useful prototypes/macros*****************************************************************************//* some extensions to C.... */#include "vector.h"/* memory.c functions */extern char *safe_calloc(int,int);extern int safe_free(char *);#define newmem(n,type) ((type *) safe_calloc((n),sizeof(type)))#define freemem(addr) safe_free((char *) addr)/* error.c functions */extern void fatal(char *,...);extern void error(char *,...);extern void warning(char *,...);extern void lex_error(char *,...);extern void dont_printf(char *,...);/* time.c functions */extern void start_clock(void);extern double elapsed_time(void);extern void randomize(void);/* trace.c functions */typedef enum { NONE=0, SUMM=1, LONG=2, DBUG=3, DBG1=4 } trace_lev_t;extern int Trace_level;#define set_trace_level(n) (Trace_level = n)#define trace_level() (Trace_level)#define trace(lev) if (lev<=Trace_level)/* some useful functions ... */#ifndef GCCextern char *memcpy(char *,char *,int);extern int memcmp(char *,char *,int);extern int strcmp(char *,char *);extern char *strcpy(char *,char *);extern int strlen(char *);#endifextern double atof(const char *);extern long random(void);extern int strncmp(char *,char *,int);extern int qsort(char *,int,int,...);extern int atoi(char *);extern long random();#define max(a,b) ((a)>(b)?(a):(b))/* portable log base 2 function */#define LN2_CONST 0.69314718055994530942#define Log2(x) ((x) <= 0 ? 0.0 : log((float)x) / LN2_CONST)/* generic copy,equality routines */#define copy(type,a1,a2) ((type *)memcpy((char *)a1,(char *)a2,sizeof(type)))#define equal(type,a1,a2) (!memcmp((char *)a1,(char *)a2,sizeof(type)))#define streq(s,t) (strcmp((s),(t))==0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -