当我尝试调试我的C程序时,甚至在编译器开始执行任何行之前,我得到: “HistsToFields.exe中的0x00468867未处理异常:0xC00000FD:堆栈溢出。C中的堆栈溢出错误在执行任何步骤之前
我不知道如何发现问题,因为程序甚至没有开始执行任何行(或至少这是我可以从编译器调试窗口中看到的)。如果我的程序没有任何行被执行,怎么知道是什么导致溢出? “当调试器打破它指向一条线在chkstk.asm”
我在win7上使用Microsoft Visual Studio 2008。
我设置堆栈保留大小3亿
PS:用来执行罚款过,但另一台机器上的程序。
我有一个csv格式的数据库(120000 x 60),我需要将其更改为空格分隔。该程序(我没有写我自己)定义输出文件的结构:
`struct OutputFileContents {
char Filename[LINE_LEN];
char Title[LINE_LEN];
int NVar;
char VarName[MAX_NVAR][LINE_LEN];
char ZoneTitle[LINE_LEN];
int NI;
int NJ;
int NK;
double Datums[MAX_NVAR];
double Data[MAX_NVAR][MAX_NPOINT];`
这最后一个数组“数据[] []”就是包含了所有的输出。因此是巨大的尺寸。 该数组大小“MAX_NPOINT”在项目中的标题源文件中设置,该标题由项目中的多个程序使用。
非常感谢您提前。 艾哈迈德。
+1堆栈溢出引用。 – 2011-06-07 15:43:04
你有一个无限递归的地方。 – 2011-06-07 15:43:24
如果你得到一个异常,那么你的编译器不仅已经启动,它已经完成,并且你已经运行了你的程序(失败了)。 – Arafangion 2011-06-07 15:45:43