我正在做一些音频处理,因此混合了一些C和Objective C.我已经设置了一个处理我的OpenAL接口和音频处理的类.我已将类后缀更改为
.mm
......正如Core Audio中的在线书籍中所描述的那样.
我在.h文件中声明了一个C风格函数,并在.mm文件中实现:
static void granularizeWithData(float *inBuffer, unsigned long int total) {
// create grains of audio data from a buffer read in using ExtAudioFileRead() method.
// total value is: 235377
float tmpArr[total];
// now I try to zero pad a new buffer:
for (int j = 1; j <= 100; j++) {
tmpArr[j] = 0;
// CRASH on first iteration EXC_BAD_ACCESS (code=1, address= ...blahblah)
}
}
Run Code Online (Sandbox Code Playgroud)
奇怪???是的,我完全没有想法为什么这不起作用,但以下工作:
float tmpArr[235377];
for (int j = 1; j <= …Run Code Online (Sandbox Code Playgroud)