gpt4 book ai didi

c - 隐式释放

转载 作者:行者123 更新时间:2023-11-30 19:57:24 26 4
gpt4 key购买 nike

在程序中,如果声明了一个变量,它会分配空间,并在程序结束时在动态内存分配的情况下释放空间。我知道它在堆中分配空间,但我的问题是:为什么编译器不能隐式释放堆中的内存?

最佳答案

Why can't the compiler implicitly deallocate memory in heap

因为它不知道/无法判断其他东西是否仍然需要访问堆节点。

你在这里谈论的是垃圾收集。 C 的类型系统不够强大,无法实现(非保守的)垃圾收集。

请注意,即使在垃圾收集语言中,也很少由编译器决定是否/何时释放动态分配的堆节点。

关于c - 隐式释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45878863/

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