#include<iostream>
#include <intrin.h>
using namespace std;
unsigned __int64 TimeValue=0;
unsigned __int64 rdtsc(void) 
{  
   return __rdtsc(); 
};
void time_start() { TimeValue=rdtsc(); }
long long time_stop() { 
    return (rdtsc()-TimeValue); 
}
int main()
{
    long x[262144],i,k,r;
    int j;
    x[0] = 0;
for (i=1; i<262144; i++)
{
    long r = rand()%i;
    x[i] = x[r];
    x[r] = i;
}
    time_start();
    for (j=0; j<1000; j++)
        for (k=0, i=0; i<262144; i++) 
            k = x[k];
    cout<<time_stop()/1000/262144;
}
在程序中,我需要创建一个大小为 1 兆字节的数组。在线调试程序时long x [262144]出现错误:“dgdxgdrfy.exe”中的未处理异常“0x00ff1997”:0xC00000FD:堆栈溢出。为什么会这样以及如何解决?