Fortran Coder

查看: 10881|回复: 9
打印 上一主题 下一主题

[数值问题] 请教下面这段代码的差异

[复制链接]

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

楼主
发表于 2018-1-8 11:51:27 | 显示全部楼层
csum没有定义吧?改成associate也出错?
[Fortran] 纯文本查看 复制代码
do j=1,nt
       associate(csum=>G_0t(j))then
      do ic0=1,ndims
       CP0(j,ic0)=CP0(j,ic0)*csum
      enddo
     end associate
     enddo

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

沙发
发表于 2018-1-8 13:17:24 | 显示全部楼层
本帖最后由 pasuka 于 2018-1-8 13:19 编辑
dypang 发表于 2018-1-8 12:24
谢谢。不过, csum 是声明成复数类型了的,因此应该不是这个原因

无法提供能够重现错误的最小代码,实在爱莫能助了
非涉密项目,可以考虑加入qq群,然后加群主好友,再远程桌面查看一下
本论坛官方QQ群:2338021

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

板凳
发表于 2018-1-9 14:36:29 | 显示全部楼层
dypang 发表于 2018-1-9 13:48
谢谢。我问这个问题只是想了解一下fortran的更细致的规则。这两段代码,一般情况下应该是一样的。可是, ...

欲知更细的规则,请先把本站的教学视频看三遍
此外,Fortran静态方式开辟大数组在Linux下okay,在Windows下出错,往往与Fortran规则无关,与操作系统和编译原理有关
Windows下有可能是栈溢出,需要改成动态数组,也可能是32位非服务器版Windows系统的单进程2GB内存限制
希望活学活用,立竿见影,还是加群主QQ,远程桌面查找问题源头
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-10 21:05

Powered by Tencent X3.4

© 2013-2024 Tencent

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