1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/* Allan CORNET INRIA 2005 */
#ifndef __SCI_MEM_ALLOC__
#define __SCI_MEM_ALLOC__
#if WIN32
#include <stdlib.h>
#endif
#ifdef MALLOC
#undef MALLOC
#endif
#ifdef FREE
#undef FREE
#endif
#ifdef CALLOC
#undef CALLOC
#endif
#ifdef REALLOC
#undef REALLOC
#endif
extern void * MyReAlloc(void * lpAddress,int dwSize,char *fichier,int ligne);
extern void * MyAlloc(unsigned int dwSize,char *fichier,int ligne);
extern void * MyCalloc(unsigned int x, unsigned int y, char *fichier,int ligne);
extern void MyFree(void *x, char *fichier,int ligne);
#ifndef WIN32
#ifdef lint5
#include <sys/stdtypes.h>
#define MALLOC(x) MyAlloc((size_t)x,__FILE__,__LINE__)
#define FREE(x) if (x != NULL) MyFree((void *) x,__FILE__,__LINE__);
#define REALLOC(x,y) MyReAlloc((void *)x, y,__FILE__,__LINE__)
#define CALLOC(x,y) MyCalloc((size_t) x, (size_t) y,__FILE__,__LINE__)
/* Only for Scilab Stacksize use VirtualAlloc on Window */
#define SCISTACKMALLOC(x) MyAlloc((size_t)x,__FILE__,__LINE__)
#define SCISTACKFREE(x) if (x != NULL) MyFree((void *) x,__FILE__,__LINE__);
#else
#define MALLOC(x) MyAlloc((unsigned)x,__FILE__,__LINE__)
#define FREE(x) if (x != NULL) MyFree((char *) x,__FILE__,__LINE__);
#define REALLOC(x,y) MyReAlloc((char *)x, y,__FILE__,__LINE__)
#define CALLOC(x,y) MyCalloc((unsigned) x, (unsigned) y,__FILE__,__LINE__)
/* Only for Scilab Stacksize use VirtualAlloc on Window */
#define SCISTACKMALLOC(x) MyAlloc((unsigned)x,__FILE__,__LINE__)
#define SCISTACKFREE(x) if (x != NULL) MyFree((char *) x,__FILE__,__LINE__);
#endif
#else
#define MALLOC(x) MyAlloc((unsigned)x,__FILE__,__LINE__)
#define FREE(x) if (x != NULL) MyFree((char *) x,__FILE__,__LINE__);
#define REALLOC(x,y) MyReAlloc((char *)x, y,__FILE__,__LINE__)
#define CALLOC(x,y) MyCalloc((unsigned) x, (unsigned) y,__FILE__,__LINE__)
#endif
#endif /* __SCI_MEM_ALLOC__ */
|