测试了下DEV,栈的大小为2083440个字节,哈哈哈哈哈
这个数字真有意思,为什么默认设置这么个数字呢?说说原因。
[解决办法]
可以从生成的可执行文件看,如#2楼,用软件查看堆栈段大小;
也可以从链接器选项中查看,堆栈段大小可以自行设置
[解决办法]
int argc, char *argv
也占用堆栈的,另外 main函数的调用也占用堆栈
另外,main 只是第一个运行的用户定义函数,在此之前,还会运行一些库函数(初始化一些数据)。
VC,Windows缺省堆栈是1M。
照你这样看,Dev C应该是 2M(1.9869232177734375 ≈ 2M)吧,不过难说一定对,因为你的数组没使用。
可能会被优化掉-- char tmp[2083440] = {0};根本没有开辟任何内存,tmp在栈上没定义数据---。