在Linux中,可以使用以下方法来设置堆栈大小:
ulimit -s 5120
其中,-s参数用于设置堆栈大小,单位为KB。
#include <sys/resource.h>
int main() {
struct rlimit rl;
rl.rlim_cur = 5120; // 设置当前堆栈大小为5MB
rl.rlim_max = RLIM_INFINITY; // 设置最大堆栈大小为无限
setrlimit(RLIMIT_STACK, &rl);
// 程序的其他代码
return 0;
}
gcc -Wl,--stack,5242880 myprogram.c -o myprogram
其中,-Wl,–stack,5242880选项用于将堆栈大小设置为5MB。