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
本文介绍了如何在C++中手动调整栈空间大小以防止递归调用导致的栈溢出,同时讲解了如何设置编译器标准以适应更高版本的需求,包括使用-Wl,--stack=SIZE指令调整栈空间和-std=c++14设置C++标准。
621

被折叠的 条评论
为什么被折叠?



