- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段代码在 gfortran 下在调试构建和优化构建之间产生不同的结果。
PROGRAM test
IMPLICIT NONE
REAL, DIMENSION(10) :: a = 0.0
REAL, DIMENSION(10) :: b = 1.0
WRITE (*,*) b
WHERE (a .ne. 0.0) b = a
WRITE (*,*) b
END PROGRAM
当我将其编译为调试版本时,它会产生正确的结果。当我将其编译为优化版本时,它用 a 替换 b 的每个元素。
$ gfortran test.f
$ ./a.out
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
$ gfortran -O3 test.f
$ ./a.out
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
如果这是编译器错误,我该如何解决它?
最佳答案
我无法重现您的问题。我正在使用
gcc 版本 4.9.0 20140313(实验)(GCC)
在 x86_64-unknown-linux-gnu (Ubuntu 12.04 amd64) 上。对我来说,您的示例程序结果是:
$ gfortran where.f
$ ./a.out
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000<br/>
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000<br/>
$ gfortran -O3 where.f
$ ./a.out
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000<br/>
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000<br/>
那么,您使用的是哪个版本的 gfortran?请记住,4.9 尚未发布,因此预发布版本的日期可能很重要。此外,您使用的是哪个目标(即操作系统和位数)?如果您自己构建了 GCC,您是否运行了 GCC 测试套件来检查您的 gfortran 构建是否正常工作并且没有彻底损坏?
关于fortran - gfortran 4.9.0 错误? WHERE 语句被优化掉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22429397/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!