今天终于知道linux栈空间了。因为写了个简单程序,可以让linux的栈空间耗尽,然后出现core dumped,即栈溢出
代码如下:
#include <stdio.h>
void overFlow()
{
long i;
printf("&i : %p\n",&i);
overFlow();
}
int main()
{
OverFlow();
}
运行程序 ./out > out.log
栈地址是从高到低,所以用第一个减去最后一个地址,就能得到栈空间
我用python算出
$python
>>> (0x7fffe4c974cc - 0x7fffe449be2c)*1.0/1024/1024
7.982086181640625
可见是8M
使用ulimit -s可得到8192, 与程序结果一致
时间: 2024-10-19 22:08:42