Fortran Coder

查看: 16480|回复: 6
打印 上一主题 下一主题

[指针] Fortran内存泄露?

[复制链接]

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
楼主
发表于 2017-3-21 10:34:05 | 显示全部楼层
子程序中的动态数组,如果没有save属性(默认没有),退出子程序会自动释放。你可以用这个代码验证。
[Fortran] 纯文本查看 复制代码
program test
  do k=1,10
    call sub 
  end do
  pause
end program test
  
subroutine sub
  implicit none
  integer,save::i=1
  integer(4),allocatable:: a(:,:,:)
  
  allocate(a(1024,1024,1024/4)) ! 1G内存
  a=i
  write(*,*) a(1,1,1)
  i=i+1
end subroutine
  
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-3 09:12

Powered by Tencent X3.4

© 2013-2024 Tencent

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