Fortran Coder

调用imsl的 DN2QNJ出现错误

查看数: 8783 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-6-14 20:33

正文摘要:

调用imsl的 DN2QNJ的时候(封装在module中)出现以下错误提示: 1>C:\Users\wenv\source\repos\Console5\Console5\Source1.f90(238): error #7061: The characteristics of dummy argument 1 of the associated ...

回复

Yowai 发表于 2018-6-16 22:58:06
vvt 发表于 2018-6-15 15:54
跟操作系统没关系呀,主要是编译器的默认参数不一样。
ivf 用VS编译,会默认检查数组越界,而命令行则不会
...

谢谢回复,解决了我很大的困惑。
vvt 发表于 2018-6-15 15:54:42
本帖最后由 vvt 于 2018-6-15 15:58 编辑

跟操作系统没关系呀,主要是编译器的默认参数不一样。
ivf 用VS编译,会默认检查数组越界,而命令行则不会

命令行可以加选项 -check:bounds 使其增加越界检查。
Yowai 发表于 2018-6-15 15:45:41
vvt 发表于 2018-6-15 10:41
这个问题需要精细的单步调试才能找到原因。

谢谢回复。问题解决了,出错是数组越界。但我有一点不明白。
我有两台电脑,一个mac,一个windows。都装的ivf。mac用终端运行,windows用vs。
一模一样的代码,mac能运行,windows就会出问题。
比如数组
integer::i
real::a(3)


do i=1,3
a(i+2)=i
end do

在mac会出结果a(3)=1,a(4)=2,a(5)=3
但在windos就会报错,说数组越界。
您知道这个是什么原因吗?
vvt 发表于 2018-6-15 10:41:34
这个问题需要精细的单步调试才能找到原因。
vvt 发表于 2018-6-15 07:49:44
[Fortran] 纯文本查看 复制代码
  subroutine fcn(X,F,N)
    integer, intent(in) :: n    
    real(kind(1d0)), intent(in) :: x(n)  
    real(kind(1d0)), intent(out) :: f(n) 

subroutine lsjac(n,X,fjac)
  integer::i1,j1
  integer, intent(in) :: n                                                         
  real(kind(1d0)), intent(in) :: x(n)                                              
  real(kind(1d0)), intent(out) :: fjac(n,n) 

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

GMT+8, 2024-11-23 18:36

Powered by Tencent X3.4

© 2013-2024 Tencent

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