内存在指针上增长?

时间:2012-04-19 15:19:30

标签: objective-c c xcode

我的指针上有内存增长,我在xcode instruments-allocation(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]是一个问题。 我无法弄清楚,我在这条线上做错了什么。

2 个答案:

答案 0 :(得分:0)

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

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

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

乐器应该告诉您哪个mallocnew导致每次泄漏的分配。

答案 1 :(得分:0)

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