- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是花了太多时间来解决我程序中的错误。我调用一个子程序(让我们调用 mysub
)定义为:
subroutine mysub(hourval,dayval,some,more,args)
use globals
implicit none
real:: hourval(24,ncol,nrow)
real:: dayval(ncol,nrow)
...
end
其中 hourval
和 dayval
是包含子程序中计算输出的数组,nrow
和 ncol
是整数。
调用子程序的样子
call mysub(daygrid,hourgrid,some,more,args)
其中 daygrid
和 hourgrid
是之前被allocate
d 的数组。 hourgrid
有 3 个维度 (24,ncol,nrow)
,而 daygrid
有 2 个维度 (ncol,nrow)
.到目前为止提到的所有变量(hourgrid
、daygrid
、nrow
、ncol
)都在模块 中声明全局变量
。
我不断得到奇怪的结果,最后注意到我在我的子例程调用中调换了 hourgrid
和 daygrid
的顺序,改变这个解决了我的问题(实际变量在我的程序名称不太明确,这使得错误更难发现)。但是,该程序可以正常编译,并且我不会在日志文件中收到任何相关的错误消息。
因此,我想知道是否有一种方法可以在编译时或运行时获取指向该错误的消息。我在 Linux 上使用具有以下编译器标志的 Intel Fortran 11.1:
-O3 -C -pg -traceback -g
我实际上指望 -C
标志(相当于 -check all
)来检测这种错误,因为它暗示了选项 -check界限
。还有什么我可以做的吗?
最佳答案
你可能想使用假设形状的虚拟参数来捕获像这样的错误(即 real, dimension(:,:)::dayval
和 real, dimension(:,:,: )::小时数
。)
摘自 Metcalf、Cohen 和 Reid(2011 年)的现代 Fortran 解释:
Shape, or character disagreement cannot occur when a dummy argument is assumed-shape.
此外,通过 use
语句将已经可用的变量作为实际参数传递给同一子例程,这并不是最令人惊奇的编码风格。
关于fortran - 如果我将分配的数组传递给尺寸不匹配的子例程,如何让 Fortran 警告我?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23014145/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!