Fortran Coder

查看: 26511|回复: 17
打印 上一主题 下一主题

[求助] allocate 分配三维数组失败

[复制链接]

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
跳转到指定楼层
楼主
发表于 2014-9-8 16:43:35 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
附件里面有f90的文件和一个参数卡(txt),这是一个有限差分的程序(大家如果没有遇到过这类东西,请忽略这个名字)。
我用allocate分配若干个三维数组(从209~236行),数组大小300*300*300,不知道什么原因他只能分配到第八个(第217行),当分配第九个的时候就显示失败了,stat返回值为41,但是后面另外的一些二维数组和一位数组申请又没问题,所以应该不是内存大小的限制,而且我也拿到32G内存机器上运行也是一样的情况,我把文件放在附件里了,麻烦版主帮忙看看,我自己是在找不到问题出在哪。代码并不繁琐,刚刚把变量定义玩,开始allocate的时候就出现的问题。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
沙发
 楼主| 发表于 2014-9-8 16:44:43 | 显示全部楼层
这个是代码,f90的

3D.f90

57.13 KB, 下载次数: 10

代码

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
板凳
 楼主| 发表于 2014-9-8 16:45:41 | 显示全部楼层
这个是参数卡

3DPara.txt

903 Bytes, 下载次数: 3

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
地板
 楼主| 发表于 2014-9-8 21:02:09 | 显示全部楼层
本帖最后由 山林悍匪 于 2014-9-8 21:04 编辑
vvt 发表于 2014-9-8 19:11
双精度每个数据8字节。
300*300*300*8 = 205.99MB


谢谢回复!
我用的编译器是Intel Fortran2011,我自己的电脑就是64位4G内存的,而且我拿到64位32G内存的机器上也是同样的啊

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
5#
 楼主| 发表于 2014-9-8 21:28:25 | 显示全部楼层
本帖最后由 山林悍匪 于 2014-9-8 21:29 编辑
fcode 发表于 2014-9-8 21:11
主要是你的编译器是否是64位的


恩,应该是64位的,Intel Fortran2011不就是专门为64位准备的吗?

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
6#
 楼主| 发表于 2014-9-8 21:52:11 | 显示全部楼层
fcode 发表于 2014-9-8 21:49
IVF 有32位版本,也有64位版本。
64位版本同时也带有32位版本,需要选择。
这个你得自己检查一下 ...

哦,是这样,我装的时候还真没注意,那我再看看
谢谢你的回答!

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
7#
 楼主| 发表于 2014-9-8 22:32:07 | 显示全部楼层
fcode 发表于 2014-9-8 21:49
IVF 有32位版本,也有64位版本。
64位版本同时也带有32位版本,需要选择。
这个你得自己检查一下 ...

fcode你好!我从新装了一遍ivf,但是整个安装过程并没有提示我选择32位或者64,我的vs是2010也没有提示选择64或者32

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
8#
 楼主| 发表于 2014-9-9 10:57:20 | 显示全部楼层
fcode 发表于 2014-9-9 07:48
你可以通过,在工程(project)上右键,属性,看到平台(platform),里面是否有选择 win32 或 x64 ...

谢谢fcode!
我看了,里面只有win32的选择,没有64的选项,是不是还跟vs有关呢,你用的是ivf+vs吗?

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
9#
 楼主| 发表于 2014-9-9 12:40:55 | 显示全部楼层
fcode 发表于 2014-9-9 11:47
那就说明你的 IVF 只有 32 位。你需要重新下载带 64 位的 IVF。
VS与这个问题无关。 ...

额,那好吧,我再找找看64位的ivf

39

帖子

8

主题

0

精华

熟手

F 币
249 元
贡献
142 点
10#
 楼主| 发表于 2014-9-9 13:20:34 | 显示全部楼层
andy8496 发表于 2014-9-9 12:08
LZ试试这样行不行?我的这样可以在32位机器上编译得到64位的可执行程序。
...

哇!谢谢Andy8496!这样真的行了也
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-21 19:58

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表