前几天看到一个帖子,使用递归的时候,由于递归太深,导致栈溢出。我想问,这个栈可以指定空间么?我们在编译的时候,可以指定自己的段(虽然和指定栈没什么关系),那我们在运行的时候,可以去判断一下,如果栈空间不够了,就把栈内容备份到硬盘,然后再继续调用。 这个想法看起来好像比较不可行(因为我自己也不知道怎么做)。但是有可能性么?或者使用一个方法去模拟实现这种想法。
c 操作系统 C++
《Windows核心编程(第五版)》中提到:windows中默认的线程栈大小是1MB。要想改变该默认值可以用2种方法: (1)Microsoft C++编译器的/F选项 /Freserve (2)Microsoft C++链接器的/STACK选项 /STACK:reserve[,commit]
至于你所说的对栈中的内容进行处理,这个不知道操作系统有没有提供这个权限~
使用C编译器,如何设置使得int字长与系统字长相同
.bss段的一个疑问
请问可以用全角字母定义变量么?
C语言中, 如下两种定义字符串的方式有什么不同?
数组为什么不让用户得到数组大小?
C/C++ 如何正确使用链接库的问题?