有哪些重要的项目使用Boehm GC?

4

我想知道是否有重要的项目使用了Boehm GC?我特别想知道是否有任何游戏项目使用了这个垃圾回收器。如果没有,那么Boehm GC对游戏项目来说是否不好?

令我印象深刻的是,像Boehm GC这样简单的代码可以处理:

#include <stdio.h>
#include <stdlib.h>
#include <gc.h>

int main(void)
{
    int i;

    GC_INIT();
    for (i = 0; i < 10000000; ++i)
    {
        int *p = GC_MALLOC(sizeof(int *));
        //int *q = malloc(sizeof(int *));

        printf("Heap size = %d\n", GC_get_heap_size());
    }

    return 0;
}

制作使用Boehm GC的游戏有什么需要注意的事项吗?
谢谢。

1
http://www.hpl.hp.com/personal/Hans_Boehm/gc/#users - Bart
我已经看到了,但那对我没有任何兴趣。我更感兴趣的是boehm-gc的游戏方面。 - nobody
那么您可能想重新表达您的标题。不过,我不知道有哪些游戏/游戏引擎使用这种特定的垃圾收集器。虽然这个概念本身在该领域中确实被应用。 - Bart
不确定为什么要给负评,伙计们,请负责任地使用它。 - Thomas Dignan
1个回答

0

Open Modelica编译器(OMC)使用Boehm GC。这是一个非常庞大的应用程序,有超过30万行代码,并且在工业和研究中都被使用。垃圾收集器在模拟过程中负责回收垃圾。

请参阅https://github.com/OpenModelica/OMCompiler/tree/master/SimulationRuntime/c/gc。这个链接定义了垃圾收集器的内部API,可以作为一个很好的参考和有趣的阅读材料。

然而,如果你要在C++中制作游戏,我建议使用智能指针代替。如果你真的想要垃圾收集器的便利,并且由于某种原因需要使用C或C++,那么Boehm是一个不错的选择。否则,如果性能对你正在编程的游戏不是关键问题,那么考虑使用其他具有高效垃圾收集器的语言,如Java或C#可能更明智。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接