【发布时间】:2012-10-30 19:25:00
【问题描述】:
我有一块内存要重新分配到不同的大小,但我不在乎内存是否被丢弃。 free() 内存然后 malloc() 一个新的内存块会更快,还是 realloc() 是要走的路?
我认为这两种解决方案都不是最佳的,因为需要执行额外的工作。我打赌 realloc() 在定位足够大的内存块时会更快,因为当前片段可能足够大或足够小以容纳新的内存块。但是,如果片段不够大,它必须复制 malloc() 没有的内存。
我正在使用 Linux。这可能有什么特殊功能吗?
谢谢! :)
【问题讨论】:
-
你也可以看看stackoverflow.com/questions/13247526:你是那个问题的一个特例,
header_size是 0。