c - 像 C 中的析构函数这样的机制?

标签 c malloc destructor

C语言中有析构函数之类的机制吗?或者有其他方法可以实现吗?

我的要求是,当一个程序终止时,所有在运行时分配的内存都应该被释放。我保留了一个使用 malloc 分配的内存列表。

最佳答案

另一种方法是编写内存管理器。

这个想法是内存管理器分配大块内存并将其分成较小的部分以供程序的其余部分使用。当程序终止时,内存管理器可以删除大块。

这是基本思想,尽管内存管理器可能需要更复杂,具体取决于程序的内存使用情况。

在 Doom 源代码中有一个基本的内存管理器,您可以查看:http://doom.wikia.com/wiki/Zone_memory

关于c - 像 C 中的析构函数这样的机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17288506/

相关文章:

c - 我应该将指针更改为数组吗?

c++ - 为什么先调用基类构造函数再调用派生类构造函数

c - 如何在我的自研操作系统中控制显卡?

c++ - malloc 结构体中的一维数组

c - malloc->分配了多少内存?

c++ - 在 C++ 中通常调用退出 block 时如何销毁局部变量?

c++ - std::queue 析构函数慢得要死,bug?

c - 用 C 语言进行契约(Contract)设计,用于自动定理证明

c - 操作字符串时出现段错误?

c - 初始化 C 动态数组