#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(理论值)