cjl0356 发表于 2015-1-30 17:27:44

IVF 虚参和实参不一致,如何设置取消接口检查?

最近学习求解常微分方程的程序,从网上下了一个,但是程序里有一些用法是 实参和虚参不一致,
这种用法在Powerstation4.0中可以正常运行,但是到了IVF中提示错误。

因为程序是老程序,模式比较固定,我目前是初学,修改起来比较费劲,所以我想求教一下:
有没有不修改程序,通过设置编译器的一些选项来是其在IVF里运行通过的。

谢谢了

补充一下程序段:
      CALL SSTODE (NEQ, Y, RWORK(LYH), NYH, RWORK(LYH), RWORK(LEWT),
   1   RWORK(LSAVF), RWORK(LACOR), RWORK(LWM), RWORK(LWM),
   2   F, JAC, SPRJS, SSOLSS)

错误提示:
错误      1         error #6633: The type of the actual argument differs from the type of the dummy argument.         F:\fortran\LSODE example\OPKSMAIN.for      3443      


vvt 发表于 2015-1-30 18:41:00

工程属性,Fortran,Diagnostics,选择 Check Routine Interfaces 为 NO

cjl0356 发表于 2015-1-30 19:16:22

vvt 发表于 2015-1-30 18:41
工程属性,Fortran,Diagnostics,选择 Check Routine Interfaces 为 NO

解决了,非常感谢!

dengm155 发表于 2016-4-8 07:36:34

vvt 发表于 2015-1-30 18:41
工程属性,Fortran,Diagnostics,选择 Check Routine Interfaces 为 NO

请问造成这个问题的原因是什么,老程序为什么会产生这样的结果

fcode 发表于 2016-4-8 08:55:44

因为老代码书写不严谨。老编译器没有做必要的接口检查。没有检测实参虚参是否一致。

而新编译器引入了这样的检查,以确保程序的稳健。

深流水静水流深 发表于 2016-4-9 08:53:17

我也碰到过该问题,设置“不检查接口”的编译选项,是通过比较两个项目的项目属性设置,发现的
呵呵呵
页: [1]
查看完整版本: IVF 虚参和实参不一致,如何设置取消接口检查?