Fortran Coder

查看: 8243|回复: 1
打印 上一主题 下一主题

[求助] fortran数组太大

[复制链接]

2

帖子

2

主题

0

精华

入门

F 币
35 元
贡献
18 点
跳转到指定楼层
楼主
发表于 2020-2-21 16:49:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在子程序subroutine中,如下代码
subroutine mpi_sum_z(f,i_root,myid,nsend,iall)
include 'mpif.h'
real recv_b(nsend), f(nsend)  !nsend=256
因为出现double free or corruption的错误,并显示这里有错误
利用gdb调试,print数组内容,f是256大小的数组,recv_b却好像无限大。步骤如下
(gdb) print f
$1 = (2.83542365e-14, 2.84252873e-14, 2.84072133e-14, 2.85789696e-14, 2.84969666e-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  ...)
(gdb) print recv_b
$3 = ()
(gdb) print recv_b(1000)
$3 = 0
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

250

帖子

2

主题

0

精华

宗师

F 币
1731 元
贡献
872 点

规矩勋章

沙发
发表于 2020-2-28 16:44:28 | 只看该作者
没用过这个调试器,我猜 print recv_b(1000) 用 print f(1000) 代替也能取到数据,只是给个地址,不能确定数组大小。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-24 01:52

Powered by Tencent X3.4

© 2013-2024 Tencent

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