gpt4 book ai didi

cocoa - 你曾经使用过 NSZoneMalloc() 而不是 malloc() 吗?

转载 作者:行者123 更新时间:2023-12-03 16:20:04 25 4
gpt4 key购买 nike

Cocoa 提供了它称为 Memory Zones 的页对齐内存区域。 ,并提供了一些以区域为参数的内存管理函数。

假设您需要分配一 block 内存(不是为对象,而是为任意数据)。如果您调用malloc(size) ,缓冲区将始终分配在默认区域中。然而,有人可能用过allocWithZone:将对象分配到默认区域之外的另一个区域中。在这种情况下,使用 NSZoneMalloc([self zone], size) 似乎会更好。 ,这将使您的缓冲区和拥有的对象保持在同一内存区域中。

你遵循这种做法吗?您使用过内存区域吗?

更新:我认为 Stack Overflow 上有一种倾向,通过有关过早优化的讲座来回答有关低级主题的问题。我知道 1993 年 NeXT 硬件上的区域可能比今天更重要,而且 Google 搜索很清楚地表明几乎没有人关心它们。无论如何,我想看看是否有人可以描述一个使用内存区域的项目。

最佳答案

我为 Linux 上的 NeXTStep、GNUstep 和 Mac OS X 上的 Cocoa 编写了软件,并且从未需要使用自定义内存区域。表明它是对软件的良好改进的条件要么从未出现过,要么从未被检测到具有重要意义。

关于cocoa - 你曾经使用过 NSZoneMalloc() 而不是 malloc() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593241/

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