【发布时间】:2014-07-28 04:45:19
【问题描述】:
#include <stdio.h>
int main(void)
{
int (*fp)(void);
printf("Loopy.\n");
fp = &main; //point to main function
fp(); //call 'main'
return 0;
}
“循环”不是无限执行循环,而是在我的机器上执行大约 10-20 秒,然后获取标准的 Windows 应用程序崩溃报告。为什么是这样?
编译器:GCC IDE:代码::块 操作系统:Win7 64位
【问题讨论】:
-
Working fine to me。无法复制。
-
异常代码
0xc00000fd是堆栈溢出。你期待什么? -
@AustinBrunkhorst 我期待一个无限循环,我正在试验。此外,与绝大多数人一样,我没有阅读崩溃详细信息:)。
-
知道了,当你在堆栈上扩展内存时,你总是可以预料到堆栈溢出,但从不管理它。
-
“像绝大多数人一样”应该这样做
标签: c function pointers crash function-pointers