Fortran Coder

查看: 11494|回复: 8
打印 上一主题 下一主题

[派生类型] fortran deallocate problem

[复制链接]

258

帖子

0

主题

0

精华

版主

World Analyser

F 币
713 元
贡献
508 点

新人勋章美女勋章元老勋章热心勋章规矩勋章管理勋章

QQ
楼主
发表于 2018-7-10 19:14:03 | 显示全部楼层
本帖最后由 kyra 于 2018-7-10 19:19 编辑

楼主可以尝试把 100000000 改成 1000000  (也就是去掉2个零)
把 allocate(a%b(i)%c(1:1)) 改成  allocate(a%b(i)%c(100))   !也就是加上2个零

这样对比就明显了。

要知道 c(1:1) 只占8个字节,在64位计算机上,和指针大小一样。释放不释放真的区别不大。

fortran 的可分配数组和指针,他们并不只占8字节(地址),实际上可能在40个字节左右(数组大小,维度,上下限,间距等)。
因此,特别多的数组,建议不要用可分配的。
http://bbs.fcode.cn/thread-829-1-1.html
这个帖子对你有帮助。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-6-11 20:18

Powered by Tencent X3.4

© 2013-2024 Tencent

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