splitheap.h
来自「hoard内存管理器」· C头文件 代码 · 共 29 行
H
29 行
#ifndef _SPLITHEAP_H_#define _SPLITHEAP_H_template <class SuperHeap>class SplitHeap : public SuperHeap {public: inline void * malloc (const size_t sz) { void * ptr = SuperHeap::malloc (sz); if (ptr != NULL) { markInUse (ptr); size_t oldSize = getSize(ptr); if (oldSize <= sz + sizeof(double)) { return ptr; } else { void * splitPiece = split (ptr, sz); if (splitPiece != NULL) { // printf ("split %d into %d and %d\n", oldSize, getSize(ptr), getSize(splitPiece)); markFree (splitPiece); SuperHeap::free (splitPiece); } } } return ptr; }};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?