【问题标题】:Programmatically deallocate memory in libstagrab以编程方式释放 libstagrab 中的内存
【发布时间】:2015-11-30 16:34:51
【问题描述】:

在使用libstatgrab 时,我们何时以及如何释放内存。我没有看到像sg_free 这样的函数调用,它取消分配内存对象以存储系统统计信息。例如:

sg_init(1);
sg_drop_privileges()
sg_load_stats *load_stat;
while(load_stat = sg_get_load_stats(NULL) != NULL) {
  cout << load_stat->min1 << load_stat->min5 << load_stat->min15);
}

上面的while循环不断调用sg_get_load_stats函数来获取cpu负载。它是使用内部缓冲区还是每次调用时都创建一个新缓冲区?如果后者是真的,我们不应该释放对象吗?谢谢。

【问题讨论】:

    标签: c++ c stat


    【解决方案1】:

    The Documentation 似乎声明 sg_get_load_stats() 具有本地范围并由 libstatgrab 库处理。

    sg_get_load_stats_r(),大概是用来返回当前作用域外的stats值,动态分配,结果缓冲区需要用户清理。

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 2012-08-29
      • 1970-01-01
      • 2013-04-19
      • 2018-09-08
      • 2023-03-22
      • 2014-07-04
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多