我的程序在运行在GCC上的Linux上工作正常,但是当我使用Visual Studio 2013在Windows上编译和运行代码时,它给出了我的错误:a3a3.exe中0x00EC2527处的未处理异常:0xC00000FD:堆栈溢出(参数:0x00000000) ,0x00692000)。
它还在第626行向crtexe.c中插入一个断点;这里是第624 - 626行供参考:
#else /* WPRFLAG */
__initenv = envp;
mainret = main(argc, argv, envp);
我在使用Visual Studio 2013之前编译并运行了C程序,但是这个似乎并不想工作,我不能为我的生活确定原因。我非常感谢你的帮助,我对编程很新,这是我在stackoverflow上的第一篇文章。我还要感谢任何额外的提示或批评,以帮助我学习。谢谢。
这是我的计划:http://pastebin.com/X731mU7W
答案 0 :(得分:5)
struct CR CRArray[14500]
太大而无法在堆栈上生存(因此Stack Overflow)。相反,动态分配它。
struct CR *CRArray = malloc (sizeof (struct CR) * 14500);
虽然,因为它是VS,你可能需要在这个例子中强制转换malloc
。
另外,不要忘记free
记忆。