以编程方式在libstagrab中释放内存

时间:2015-11-30 16:34:52

标签: c++ c stat

使用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负载。它是否使用内部缓冲区或每次调用时创建一个新缓冲区?如果后者是真的,我们不应该释放这个对象吗?感谢。

1 个答案:

答案 0 :(得分:1)

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

sg_get_load_stats_r(),可能用于返回当前范围之外的统计信息的值,动态分配,并且用户需要清理生成的缓冲区。