【发布时间】:2013-01-22 12:59:23
【问题描述】:
鉴于最近 C 得到的所有噪音,我读到有一些方法可以最大限度地减少 C 中 malloc 的使用,这是一个非常好的做法。我怎么也不知道这种做法何时、如何或什么是好的。所以我的问题是,也许一些有经验的 C 程序员可以举一些例子,其中一个人可以(或应该)在没有 malloc 的情况下编写一些东西,但是对于新手 C 程序员来说,什么是真正不明显的方式(因此说新手只会使用 malloc) ?也许你有一些将 malloc 分解成其他东西的经验。
附:我读过的一些帖子引用了 Quake 3 源代码以及它如何避免使用 malloc,所以如果有人知道这一点,知道那里做了什么会很有趣,因为至少知道我想避免深入研究 quakes 代码漫无目的地。 (因为如果他们避免使用 malloc 搜索 malloc 不会给出太多结果,我想,代码库也很可能不像单个示例那样简单)
【问题讨论】:
-
With all recent noise C gets...-- 需要引用:) -
普通 C 程序员在内存管理方面可以做的大部分优化已经在主流 malloc() 实现中实现。引用 Knuth 的话:“过早的优化是万恶之源。”除非您知道它是给定代码中的瓶颈,否则请使用 malloc()。
-
如果没有 Knuth 的话,我们可以在 SO 上度过一整天吗?
-
@Jon 很好,如果一个人不研究高级主题,一个人就不会成为高级:)
-
@morphles:当然。我只是说新手可能首先需要更多的经验才能有效地消化信息。