我有一个非常奇怪的错误,我无法解决。我建了一个简单的程序时间的一个简单的代码片断从时钟()函数获取EXC_BAD_ACCESS错误
clock_t start, diff;
start = clock();
const int N = 1000;
int a[N][N];
for(int i=0 ; i<N ; ++i){
for(int j=0 ; j<N ; ++j)
a[j][i] = 0;
}
diff = clock()-start;
int msec = (int) diff*1000/CLOCKS_PER_SEC;
printf("time: %d milliseconds", msec);
我运行它的Xcode(不知道这事),并运行良好,但是当我改变N到2000,我得到一个EXC_BAD_ACCESS
(代码2,地址= 0xfff5ecbd438)在start = clock()
行。
因为我不知道如何改变阵列大小应该会影响clock()
命令,所以我在这里感到不知所措。
任何想法?
这是在IOS还是Mac?你知道数组'a'需要4 * 1000 * 1000 =〜4mb的堆栈吗? – JBRWilkinson 2013-02-18 10:45:29