Абстракции по причине
На самом деле, ваша программа не должна беспокоиться об этом. Это проблема ОС, ваша проблема должна быть эффективной с тем, что ей нужно, и позволить ОС выполнять свою работу.
Если вы настаиваете, вы можете посмотреть /proc/meminfo
, brk()
, getrlimit()
и setrlimit()
( вот некоторые документы ) со значениями RLIMIT_STACK
и RLIMIT_DATA
для приближений и грубый.
#include <sys/resource.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main (int argc, char *argv[])
{
struct rlimit limit;
/* Get the stack limit. */
if (getrlimit(RLIMIT_STACK, &limit) != 0) {
printf("getrlimit() failed with errno=%d\n", errno);
exit(1);
}
printf("The stack soft limit is %llu\n", limit.rlim_cur);
printf("The stack hard limit is %llu\n", limit.rlim_max);
exit(0);
}
Изменено с здесь также см. man getrlimit
в вашей системе
Если вы укажете , что и , почему вы хотите сделать это, у кого-то может быть лучший метод или способ сделать то, что вы хотите.