操作系统 - 程序的默认最大栈大小
来源:互联网 发布:基础地理数据 编辑:程序博客网 时间:2024/05/16 00:28
因为面试两次遇到这个问题,其实我以前有问过,大家都说是取决于操作系统的,然后我这次做了一个实验, 发现我的系统 64 MacOS的最大使用8MB的栈空间。
测试代码:
#include <iostream>using namespace std;void isOK(){ int i = 0; cout<<&i<<endl; isOK()}int main(){ isOK(); return 0;}
在运行的时候,第一次设置一个断点,获得第一个i的地址,然后删掉断点,运行到栈溢出,也就是栈崩溃掉。
输出大约是:
第一次: 0x7fff5fbff80c最后一次: 0x7fff5f40096c
这就是地址偏移量了,然后我们计算一下就可以了。
(0x7fff5fbff80c - 0x7fff5f40096c)/1024 = 8187KB
然后这个就是大约有8MB的大小。
其实应该是感觉操作系统而异的,有空我测试下其他的系统。
0 0
- 操作系统 - 程序的默认最大栈大小
- 栈的默认大小
- 各操作系统各文件系统支持的最大文件的大小
- linux多线程默认栈大小和最大线程数
- linux多线程默认栈大小和最大线程数
- linux多线程默认栈大小和最大线程数
- C++ 改默认的栈大小
- 更改Linux默认栈空间的大小
- 求最大子矩阵的大小 + 栈
- vs中修改程序默认堆栈大小
- java默认的Xmx大小
- VC++ 6.0 中修改默认栈空间大小的方法
- 默认数据类型的最大最小值
- 索引键的最大大小
- 【算法】最大矩阵的大小
- 用实际程序来测试udp sendto函数的最大发包大小------为什么是65507?
- 数组的最大大小(堆和栈)
- 栈和队列---求最大子矩阵的大小
- CentOS、Ubuntu、Debian三个linux比较异同
- [Toddler's Bottle]fd
- C++学习笔记56——类模板中的class与typename
- 学习
- 关于 AVPlayer的总结-1
- 操作系统 - 程序的默认最大栈大小
- 我想变强,不再被动,做一直放不开的事
- .zip_ 文件删不掉
- 夜间白天切换模式以及沉浸式模式
- 对象的行为
- flash进行上传使用什么协议?
- PLMN
- metinfo全版本csrf漏洞(可导致重装)
- Eclipse(Luna)查看class源代码文件