C代码不能在Windows上运行(Visual Studio 2013)

时间:2014-04-15 21:28:35

标签: c visual-studio

我的程序在运行在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

1 个答案:

答案 0 :(得分:5)

struct CR CRArray[14500]太大而无法在堆栈上生存(因此Stack Overflow)。相反,动态分配它。

struct CR *CRArray = malloc (sizeof (struct CR) * 14500);

虽然,因为它是VS,你可能需要在这个例子中强制转换malloc

另外,不要忘记free记忆。