#if defined(_MSC_VER) //没用 这是微软的环境
static void * CJSON_CDECL internal_malloc(size_t size)
{
return malloc(size);
}
static void CJSON_CDECL internal_free(void *pointer)
{
free(pointer);
}
static void * CJSON_CDECL internal_realloc(void *pointer, size_t size)
{
return realloc(pointer, size);
}
#else //暂时放弃系统
//#define internal_malloc malloc
//#define internal_free free
//#define internal_realloc realloc
static void * CJSON_CDECL internal_malloc(size_t size)
{ SHOWME
printf("-%d-\r\n",size);
//return mymalloc(size);
return malloc(size);
}
static void CJSON_CDECL internal_free(void *pointer)
{ SHOWME
//myfree(pointer);
free(pointer);
}
static void * CJSON_CDECL internal_realloc(void *pointer, size_t size)
{ SHOWME
return realloc(pointer, size);
}
#endif
很快 我发现 我的函数不能!!!
因为我现在只能管理1K的内存 JS分配失败 JS的特点不是我喜欢的
我喜欢的是每块很大 但是JS要的很小如下:
所以回到系统函数 继续看LOG
看这里 是内存泄漏吗?看不出来 代码是好的呀 如下
不知道了
我把DEL不要 看看效果 就没有free了 用了5个malloc+一个remalloc
所以问题还是未知:内存泄漏了吗?怎么办
继续看
所以是不是内存泄漏很严重!!!
百度:https://blog.csdn.net/ayuedreamer/article/details/79460462
哈哈 继续测试:
但是这个时候是看不出区别的
看上去还是free少一个 因为你手写的free没有log
说到这这里 其实我已经明白的 我没有free
当初用的时候 心里咯噔一下 这个函数怎么回事!!
后来就忘记机 需要free的!!
习惯是好的 每次看到返回char*的函数 都要咯噔一下