prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 16.3

Q此程序甚至在运行前就崩溃了! (使用调试器单步执行时,它在 `main` 函数中的第一条语句执行前就失败了)main.)


A您可能有一个或多个非常大的(千字节或更多)局部数组。许多系统都有固定大小的堆栈,即使是那些自动执行动态堆栈分配的系统(例如 Unix),当堆栈试图一次增长很大一部分时也可能会感到困惑。通常最好使用 `duration` 声明大型数组(除非您确实需要每次递归调用都有一个新集合,在这种情况下,您可以使用 `malloc` 动态分配它们;另请参阅问题 1.31)。静态duration (除非当然您每次递归调用都需要一组新的,在这种情况下,您可以动态分配它们使用malloc;另请参阅问题 1.31)。

其他可能性是您的程序链接不正确(组合了使用不同编译选项编译的对象模块,或使用了不正确的动态库),或者运行时动态库链接因某种原因失败,或者您以某种方式错误地声明了main.

另请参阅问题 11.12b16.416.518.4


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管