c++中的函数是储存在栈里的,但是默认的栈空间又比较小,当你递归层数达到一定规模,程序就会停止运行,此时就需要我们手动开大栈空间。
还有编译器默认的c++标准可能过低,我们也需要手动设置标准
方法如下:
工具 → 编译选项 → 编译器选项 → 在编译时加入如下命令(这里记得打 √ )
在框里添加相关命令即可。
手动开栈命令:
-Wl,--stack=SIZE
SIZE为你想要开的栈空间大小(字节大小),将SIZE换成数字
设置C++标准命令:
-std=c++14
常见的c++标准:c++11,c++14,c++17,c++20等等。需要注意的是编译器版本过低可能无法设置c++17及以上版本,需要升级;以及c++20要写成c++2a。
这是我的配置信息:
-std=c++2a -Wl,--stack=100000000