luat_malloc.h 709 B

12345678910111213141516171819202122232425262728
  1. /**
  2. * 内存池的C API
  3. *
  4. */
  5. #ifndef LUAT_MALLOC_H
  6. #define LUAT_MALLOC_H
  7. //----------------
  8. // 这部分是使用系统内存
  9. void luat_heap_init(void);
  10. void* luat_heap_malloc(size_t len);
  11. void luat_heap_free(void* ptr);
  12. void* luat_heap_realloc(void* ptr, size_t len);
  13. void* luat_heap_calloc(size_t count, size_t _size);
  14. void* luat_heap_zalloc(size_t _size);
  15. //size_t luat_heap_getfree(void);
  16. // 这部分是LuaVM专属内存
  17. void* luat_heap_alloc(void *ud, void *ptr, size_t osize, size_t nsize);
  18. // 两个获取内存信息的方法,单位字节
  19. void luat_meminfo_luavm(size_t* total, size_t* used, size_t* max_used);
  20. void luat_meminfo_sys(size_t* total, size_t* used, size_t* max_used);
  21. #endif