【发布时间】:2023-04-04 17:38:01
【问题描述】:
我一直想知道如何在我的下一个项目中管理内存。这是用 C/C++ 编写 DSL。
这可以通过三种方式中的任何一种来完成。
- 引用计数的 C 或 C++。
- 垃圾收集 C.
- 在 C++ 中,将类和结构从堆栈复制到堆栈并使用某种 GC 单独管理字符串。
社区可能已经在这些方法上积累了丰富的经验。哪个会更快?各有什么优缺点?
一个相关的附带问题。 malloc/free 会比在程序开始时分配一大块并在其上运行我自己的内存管理器要慢吗? .NET 似乎可以做到这一点。但我很困惑为什么我们不能指望操作系统比我们自己做的更好更快。
【问题讨论】:
标签: c++ c optimization memory-management garbage-collection