【发布时间】:2010-12-08 06:16:37
【问题描述】:
所以我正在寻找可以在一些抽象 C++ 线程/进程上进行垃圾收集的开源、跨平台(至少是 win、lin)库......所以可以说是应用程序内存管理的单独进程......或者在至少会给我一些功能,用于查看我的过程中未使用的内存删除...有没有这样的功能? boost 可以帮我解决这个问题吗?
我的主要目的是找到这样的垃圾收集器,它能够在我的普通 c++ 代码之上运行/..我的意思是没有特殊的内存分配,也没有在主程序代码中特别使用它......可能只是以某种方式连接到我的进程并监控它......所以我对这样的 gc 很感兴趣,它可以在进程之上工作并清理所以说小心旧的未使用的内存块......
所以让我更详细地描述一下问题:我的代码可以正常工作,并且通常可以自行管理。但有时它只是将一些 2-3 mbs 放入 ram 中,而不是永远使用 tham - 我知道它没有 - 毕竟我编写了代码......所以这就是为什么我需要一些在我的应用 gc 之上。 ..
【问题讨论】:
-
为什么需要垃圾收集器?虽然 C++ 有垃圾收集器,但大多数 C++ 代码都是在假设没有垃圾收集的情况下编写的。不会有用于 C++ 的垃圾收集器,您可以将其放入 C++ 代码中并期望它开箱即用。
-
另外,这个问题可能与Garbage collectors for C++ 重复。
-
@In Silico:OP 要求它在任意线程或进程上运行是一件大事。这不是骗子。
-
@DeadMG:糟糕,我错过了。
-
在我看来,智能指针只是细粒度的垃圾收集(这是确定性的)。