0

我有一个指针上的内存增长,我在 xcode 仪器分配(iphone)中看到

我有这个:(每秒执行多次的音频缓冲区回调函数)

int16_t *q = (int16_t *)(&bufferList)->mBuffers[0].mData;
int16_t average ;

for(int i=0; i < inNumberFrames; i++)
{
  average=q[i];  //comment this solve all.

如果我评论最后一行,就可以了。就是这样。显然 q[i] 是一个问题。我不知道,我在这条线上做错了什么。

4

2 回答 2

0

在您发布的代码段中,我没有看到任何可能导致内存增长的具体问题:

  • 你没有分配任何类型的内存
  • 你没有保留任何东西(因为它是普通的 C)

因此,您问题中的任何代码都不会导致泄漏。可能这里缺少一些东西。

仪器应该告诉您每次泄漏的分配malloc或导致分配泄漏。new

于 2012-04-19T15:23:18.013 回答
0

什么类型mBuffers?是否有可能[]超载,并在幕后进行一些分配或引用计数?当您注释掉可疑行时,编译器可能会优化对 的整个分配q,从而避免问题。

于 2012-04-19T16:44:49.030 回答