相关疑难解决方法(0)

如何在我的代码中使用Git的malloc包装器?

我想在代码中使用git的malloc和realloc包装器来处理OOM(内存不足)的情况.这是它的代码:

void *xmalloc(size_t size)
{
      void *ret = malloc(size);
      if (!ret && !size)
              ret = malloc(1);
      if (!ret) {
              release_pack_memory(size, -1);
              ret = malloc(size);
              if (!ret && !size)
                      ret = malloc(1);
              if (!ret)
                      die("Out of memory, malloc failed");
      }
#ifdef XMALLOC_POISON
      memset(ret, 0xA5, size);
#endif
      return ret;
}
Run Code Online (Sandbox Code Playgroud)

但是release_pack_memory函数在sha1_file.c头文件中,这个函数引用了Git代码中其他头文件中的函数,我不想花费太多精力从Git的代码库中隔离这个函数.目前我正在为release_pack_memory函数寻找替代函数,或者你能推荐我另一种选择.我会感激任何帮助

c git malloc

0
推荐指数
1
解决办法
368
查看次数

标签 统计

c ×1

git ×1

malloc ×1