【发布时间】:2012-03-23 17:39:21
【问题描述】:
我正在做一个学校项目,基本上我们正在尝试了解堆栈溢出。我正在处理的一些示例代码基本上是:(精简)
char test[10];
int i;
for (i=0;i < 10000;i++) {
test[i] = 'a';
}
当我用 gcc 编译它时,一切都很好。 Gcc 会自动保护堆栈并且永远不会让它异常溢出。现在,如果我尝试使用 gcc -fno-stack-protector.... 完全相同的程序运行。我什至对程序集文件(-S 选项)进行了比较,它们是相同的。是什么赋予了?我搜索了手册页,没有提到 -fno-stack 选项......网上的一切都指向 -fno-stack-protector 选项,但我根本无法重新创建任何东西......
提前感谢您的帮助。 :)
【问题讨论】:
标签: c gcc stack stack-overflow