主题:请教IVF命令行运行程序时,如何解决stack overflow
ch06
[专家分:30] 发布于 2011-04-09 16:04:00
请教IVF命令行运行程序时,如何解决stack overflow
在visual studio 2008下可以用下面的方法
property page => linker => system => stack reserve size
现在我直接启动IVF的命令行,执行命令
>ifort main.f
出现stack overflow
请问执行什么命令能扩大 stack reserve size,Linux系统中的ulimit在window下好像不认。
先谢谢各位了!
回复列表 (共6个回复)
沙发
dongyuanxun [专家分:7180] 发布于 2011-04-09 16:33:00
这个问题我好像都回复过多次了
命令行使用
ifort main.f /link /stack:64000000
之类
板凳
yeg001 [专家分:14390] 发布于 2011-04-09 20:09:00
楼主, 你可以看看在ide(vs下)编译之后会生成一个编译报告的. 你看看那个报告怎么写就知道用命令行应该怎么打的了.
3 楼
ch06 [专家分:30] 发布于 2011-04-09 20:28:00
[quote]这个问题我好像都回复过多次了
命令行使用
ifort main.f /link /stack:64000000
之类[/quote]
谢谢您的回答,我执行这个命令还是出现stack overflow
后来我用下面的命令解决了
ifort /heap-arrays main.f
我参考了下面这个帖子,刚开始没明白啥意思,试了下居然解决了。
http://www.programfan.com/club/showtxt.asp?id=312255
4 楼
ch06 [专家分:30] 发布于 2011-04-09 20:31:00
[quote]楼主, 你可以看看在ide(vs下)编译之后会生成一个编译报告的. 你看看那个报告怎么写就知道用命令行应该怎么打的了.[/quote]
请问ide(vs下)是不是指启动visual studio?
如果编译报告里有命令那就太好了!我试一下,非常感谢!
5 楼
dongyuanxun [专家分:7180] 发布于 2011-04-11 01:19:00
[quote][quote]这个问题我好像都回复过多次了
命令行使用
ifort main.f /link /stack:64000000
之类[/quote]
谢谢您的回答,我执行这个命令还是出现stack overflow
后来我用下面的命令解决了
ifort /heap-arrays main.f
我参考了下面这个帖子,刚开始没明白啥意思,试了下居然解决了。
http://www.programfan.com/club/showtxt.asp?id=312255[/quote]
我就简单那么的一写,你还真去执行了……
出现stack overflow,说明64000000stack区也满足不了你的数组,得继续增加。
/heap-arrays这个的意义是强行把所有的数据都搬到heap了,当然能运行了,但是速度也下降了很多……
6 楼
ch06 [专家分:30] 发布于 2011-04-17 17:42:00
呵呵,我对IVF懂的不多,看到有大侠指点,当然照做了。
我当时执行的是下面的命令,没解决,
ifort main.f /link /stack:100000000
按大侠的意思我又加了个0,好使了!而且每迭代一步快了2s,非常感谢!
我来回复