Fortran Coder

查看: 20030|回复: 7
打印 上一主题 下一主题

[求助] 346082*346082大数组debug时触发断点

[复制链接]

28

帖子

10

主题

0

精华

熟手

F 币
140 元
贡献
81 点
跳转到指定楼层
楼主
发表于 2021-4-16 09:54:49 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
integer dim
real(kind=8),allocatable::t(dim,dim),r(dim)
dim=346082
allocate(t(dim,dim),r(dim))


出现断点的地方时allocate中的r(dim),显示undefined pointer/array,但是t(dim,dim)是正常的,会不会我的数组太大了,我使用到蛮多数组,都挺大的,这t和r只是其中的两个,感谢各位大佬!!

2.png (10.89 KB, 下载次数: 468)

2.png

1.png (41.85 KB, 下载次数: 481)

1.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

28

帖子

10

主题

0

精华

熟手

F 币
140 元
贡献
81 点
沙发
 楼主| 发表于 2021-4-17 11:17:17 | 显示全部楼层
vvt 发表于 2021-4-16 10:18
你的猜测没错,数组太大了。
346082*346082 这个数组,需要 958GB 的内存。

那有什么办法可以解决吗

28

帖子

10

主题

0

精华

熟手

F 币
140 元
贡献
81 点
板凳
 楼主| 发表于 2021-4-23 15:57:07 | 显示全部楼层
dfct 发表于 2021-4-17 20:28
allocatable 的数组需要是假定形状的
尝试
[mw_shl_code=fortran,false]real(kind=8),allocatable :: t(:,: ...

已解决,谢谢你!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-10 08:23

Powered by Tencent X3.4

© 2013-2024 Tencent

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