回 帖 发 新 帖 刷新版面

主题:请教IVF命令行运行程序时,如何解决stack overflow

请教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个回复)

沙发

这个问题我好像都回复过多次了
命令行使用
ifort main.f /link /stack:64000000
之类

板凳

楼主, 你可以看看在ide(vs下)编译之后会生成一个编译报告的. 你看看那个报告怎么写就知道用命令行应该怎么打的了.

3 楼

[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 楼

[quote]楼主, 你可以看看在ide(vs下)编译之后会生成一个编译报告的. 你看看那个报告怎么写就知道用命令行应该怎么打的了.[/quote]



请问ide(vs下)是不是指启动visual studio?

如果编译报告里有命令那就太好了!我试一下,非常感谢!

5 楼

[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 楼

呵呵,我对IVF懂的不多,看到有大侠指点,当然照做了。
我当时执行的是下面的命令,没解决,
ifort main.f /link /stack:100000000


按大侠的意思我又加了个0,好使了!而且每迭代一步快了2s,非常感谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册