gpt4 book ai didi

boehm-gc - 有大型项目使用Boehm GC吗?

转载 作者:行者123 更新时间:2023-12-02 20:10:50 25 4
gpt4 key购买 nike

我很好奇有没有大型项目使用过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 制作游戏有什么注意事项吗?

谢谢

最佳答案

开放式 Modelica 编译器 (OMC) 使用 Boehm GC。它是一个非常大的应用程序,有超过 300 000 行代码,在工业和研究中都有使用。垃圾收集器在模拟期间收集垃圾。

参见https://github.com/OpenModelica/OMCompiler/tree/master/SimulationRuntime/c/gc它定义了垃圾收集器的内部 API,可能是一个很好的引用和有趣的读物。

但是,如果您打算用 C++ 制作游戏,我建议您使用智能指针。如果您确实想要拥有垃圾收集器的舒适感,并且出于某种原因需要使用 C 或 C++,Boehm 是一个不错的选择。否则,如果性能对于您正在编程的游戏来说并不重要,那么考虑其他具有高效垃圾收集器的语言(例如 Java 或 C#)可能是明智之举。

关于boehm-gc - 有大型项目使用Boehm GC吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com