linux中获取堆栈空间大小的方法
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>
int main()
{
struct rlimit lmt;
getrlimit(RLIMIT_STACK,&lmt);
printf( "rlim_cur=%u,rlim_max=%u\n ",lmt.rlim_cur,lmt.rlim_max);
}
在我的机器上(Linux Kernel版本为2.4.18-3)输出结果为:
rlim_cur=8388608,rlim_max=4294967295
说明当前的堆栈空间为8M,但作为扩展,最大可支持4G(理论值)
作者:柒月
Q群 :2122210(嵌入式/机器学习)