c++中怎么手动扩大栈空间?

来源:百度知道 编辑:UC知道 时间:2024/05/28 05:58:40
RT
ps:我记得pascal中有这样的命令的,不知道C++中有没有?有的话是啥哈?
Ps:我用的是g++编译器~
额~不是不是,不是用对空间,也不是自己写的栈。就是系统的栈,ms可以的,好像用#define命令的,但我不知道怎么用……

大家注意。谢谢了。是c++不是pascal~

1。如果你是想自己写栈,空间大小你可以自己定义。
2。如果是想扩展程序运行时的现场栈,似乎不可以~

默认为

Stack size 16384
Low heap limit 0
High heap limit 655360

可以在程序最上面加
{$M StackSize,LowHeapLimit,HighHeapLimit}
修改。其中三个参数是整数。

如果是系统栈的话
VC++默认的栈空间是1M,有两个方法更改

a. link时用/STACK指定它的大小,或者在.def中使用STACKSIZE指定它的大小

b. 使用控制台命令“EDITBIN”更改exe的栈空间大小。

例如:打开工程,依次操作菜单如下:Project->Setting->Link,在Category 中选中Output,然后在Reserve中设定堆栈的最大值和commit。

注意:reserve最小值为4Byte;commit是保留在虚拟内存的页文件%