![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
ex
Fork of mbed-os-example-mbed5-blinky by
Diff: DuerOS-Light-SDK-v1.1.0/duer-os-light/src/heap-monitor/heap_monitor.h
- Revision:
- 47:9e361da97763
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DuerOS-Light-SDK-v1.1.0/duer-os-light/src/heap-monitor/heap_monitor.h Tue Jul 18 16:54:45 2017 +0800 @@ -0,0 +1,50 @@ +#ifndef _HEAP_MONITOR_H_ +#define _HEAP_MONITOR_H_ + +#ifdef HEAP_MONITOR +#define MALLOC(size, module) malloc_t(size, module) +#define REALLOC(ptr, size, module) realloc_t(ptr, size, module) +#define CALLOC(nmemb, size, module) calloc_t(nmemb, size, module) +#define FREE(ptr) free_t(ptr) +#define NEW(module) new (module) + +#ifdef __cplusplus +extern "C" { +#endif + +enum module { + OS = 0, + APP = 1, + OTA = 2, + CA = 3, + HTTP = 4, + MEDIA = 5, + RECORDER = 6, + SPEEX_LIB = 7, + MAX_MODULE = 8, +}; + +extern void init_heap_info(void); +extern void show_heap_info(void); +extern void *malloc_t(size_t size, enum module module); +extern void *calloc_t(size_t nmemb, size_t size, enum module module); +extern void *realloc_t(void *ptr, size_t size, enum module module); +extern void free_t(void *ptr); + +#ifdef __cplusplus +} + +void * operator new(std::size_t size, int module); +void * operator new[](std::size_t size, int module); + +#endif + +#else +#define MALLOC(size, module) malloc(size) +#define REALLOC(ptr, size, module) realloc(ptr, size) +#define CALLOC(nmemb, size, module) calloc(nmemb, size) +#define FREE(ptr) free(ptr) +#define NEW(module) new +#endif // HEAP_MONITOR + +#endif