Я видел размер стека из / proc / pid / maps для C-программы в linux-64 bit.Я мог видеть следующую строку, относящуюся к размеру стека.
7fffc2e14000-7fffc2e35000 rw-p 00000000 00:00 0 [stack]
Я не понимаю вышеуказанные значения.Если я возьму разницу, я получу разницу в 135168 в десятичном виде.Но это не близко к 8 МБ.Я неправильно понимаю?
Но если я напечатаю ограничение:
int main (void)
{
struct rlimit limit;
getrlimit (RLIMIT_STACK, &limit);
printf ("\nStack Limit = %ld and %ld max\n", limit.rlim_cur, limit.rlim_max);
}
Вывод: ограничение стека = 8388608 и -1 макс
Я получу ограничение стека = 8388608, которое достигает 8 МБ.