标签:打开 最大 一个 exe size 工具栏 系统设置 工具 默认
如题,在写一些程序的时候我们有时会开一个比较大的数组或进行层数较多的dfs。这时候,程序常常会报错,于是就很无奈。
其实,虽然Windows给程序的默认栈空间比较小,我们还是有办法去扩大这个程序运行栈空间的。
对于 Linux,在系统设置(本文不做讨论,后续可能会补坑)
对于 Windows,在 ".exe" 可执行文件中。
简单来说,就是在编译的时候加入一条形如 -Wl,--stack=SIZE
的指令即可。
SIZE 的单位:byte
例如,我要进行单文件编译,文件名为 a.cpp
,给予该可执行文件最大 256MB
的栈空间。
指令:
g++ a.cpp -o a.exe -Wl,--stack=268435456
\(※ \space 268435456 =256 \times 1024 \times 1024\)
一般在IDE中,都会有一个设置页面叫做“编译选项”,在这里加入一句 -Wl,--stack=SIZE
即可
上方工具栏 \(\rightarrow\) 工具[T] \(\rightarrow\) 编译选项[C] \(\rightarrow\) 勾选“编译时加入以下命令”并加入一句 -Wl,--stack=SIZE
\(\rightarrow\) 点击下方“确定[O]”即可
个人再平时训练中会在编译器加入的一句话是:
-O2 -Wall -Wextra -Wl,--stack=536870912
意思:
-O2
)-Wall
)512MB
(-Wl,--stack=536870912
)标签:打开 最大 一个 exe size 工具栏 系统设置 工具 默认
原文地址:https://www.cnblogs.com/hkxadpall/p/10401000.html