Linux c++ 如何自定义程序的堆栈大小

吴一奇 2015-01-05 06:47:47
我在windows VS2010下写了一个递归程序,深度大约几十万,默认的1M堆栈肯定不够用,于是在VS中将“堆栈保留大小”设置大点就可以解决了。
现在问题是,我需要将程序移植到Linux(ubuntu)下,用的是codeblocks,请问codeblocks也有设置“堆栈保留大小”的地方吗?或者有什么编译器命令可以设置?
不尽感激!
...全文
981 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
吴一奇 2015-02-02
  • 打赏
  • 举报
回复
引用 8 楼 u013103427 的回复:
什么好工具啊有时间下来看看
嗯,已经改成BFS了。
图灵转世 2015-01-21
  • 打赏
  • 举报
回复
应该把递归算法转换成非递归算法。
吴一奇 2015-01-14
  • 打赏
  • 举报
回复
引用 5 楼 lee244868149 的回复:
[quote=引用 4 楼 wu_nan_nan 的回复:] [quote=引用 1 楼 Delphityro 的回复:] linux默认8兆的线程栈,一般都能满足应用,实在不够的话,用ulimit -s 16384设置为16兆或更大,一般没必要去调,线程8兆不够就应该考虑程序的逻辑合理性了,或者辅助用堆。
请问,“ulimit -s 16384”这个命令是在终端启动程序的时候给的吗?可不可以在c++代码里设置,或者在想Visual studio一样在IDE里设置?(刚接触linux,如果问的比较幼稚还请见谅。) @Delphityro @zhxianbin @qq252101792[/quote] 在c++代码里面可以通过system函数系统调用来实现: #include <stdlib.h> .... system("ulimit -s 16384"); ... 测试了一下,不需要root权限也可以执行[/quote] 谢谢!
吴一奇 2015-01-14
  • 打赏
  • 举报
回复
引用 1 楼 Delphityro 的回复:
linux默认8兆的线程栈,一般都能满足应用,实在不够的话,用ulimit -s 16384设置为16兆或更大,一般没必要去调,线程8兆不够就应该考虑程序的逻辑合理性了,或者辅助用堆。
谢谢你,我已经把递归改成BFS了。
夜游神826 2015-01-14
  • 打赏
  • 举报
回复
什么好工具啊有时间下来看看
奔跑的路 2015-01-07
  • 打赏
  • 举报
回复
引用 4 楼 wu_nan_nan 的回复:
[quote=引用 1 楼 Delphityro 的回复:] linux默认8兆的线程栈,一般都能满足应用,实在不够的话,用ulimit -s 16384设置为16兆或更大,一般没必要去调,线程8兆不够就应该考虑程序的逻辑合理性了,或者辅助用堆。
请问,“ulimit -s 16384”这个命令是在终端启动程序的时候给的吗?可不可以在c++代码里设置,或者在想Visual studio一样在IDE里设置?(刚接触linux,如果问的比较幼稚还请见谅。) @Delphityro @zhxianbin @qq252101792[/quote] 在c++代码里面可以通过system函数系统调用来实现: #include <stdlib.h> .... system("ulimit -s 16384"); ... 测试了一下,不需要root权限也可以执行
吴一奇 2015-01-07
  • 打赏
  • 举报
回复
引用 1 楼 Delphityro 的回复:
linux默认8兆的线程栈,一般都能满足应用,实在不够的话,用ulimit -s 16384设置为16兆或更大,一般没必要去调,线程8兆不够就应该考虑程序的逻辑合理性了,或者辅助用堆。
请问,“ulimit -s 16384”这个命令是在终端启动程序的时候给的吗?可不可以在c++代码里设置,或者在想Visual studio一样在IDE里设置?(刚接触linux,如果问的比较幼稚还请见谅。) @Delphityro @zhxianbin @qq252101792
pp25210 2015-01-06
  • 打赏
  • 举报
回复
ulimit 即可
zhxianbin 2015-01-05
  • 打赏
  • 举报
回复
ulimit -a 可以看当前的设置,修改见楼上
萧山夜雨 2015-01-05
  • 打赏
  • 举报
回复
linux默认8兆的线程栈,一般都能满足应用,实在不够的话,用ulimit -s 16384设置为16兆或更大,一般没必要去调,线程8兆不够就应该考虑程序的逻辑合理性了,或者辅助用堆。

23,215

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧