将垃圾收集语言编译到C时,有哪些垃圾收集技术可用?我知道其中两种:
维护一个影子栈,显式地将所有根节点保存在数据结构中
使用类似Boehm的保守式垃圾收集器
第一种技术较慢,因为您需要维护影子栈。每次调用函数时,您可能需要将本地变量保存在数据结构中。
第二种技术也很慢,并且由于使用一个保守的垃圾收集器,本质上不会回收所有垃圾。
我的问题是:在将垃圾收集语言编译为C时,现在的垃圾收集技术水平如何?请注意,我不是指在C编程时进行垃圾收集的方便方法(这是Boehm的垃圾收集器的目标),而是指在 编译为C时 进行垃圾收集的方法。