Fortran Coder

查看: 9977|回复: 5
打印 上一主题 下一主题

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

[复制链接]

3

帖子

1

主题

0

精华

入门

F 币
44 元
贡献
22 点
跳转到指定楼层
楼主
发表于 2015-1-30 17:27:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近学习求解常微分方程的程序,从网上下了一个,但是程序里有一些用法是 实参和虚参不一致,
这种用法在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.   [RWORK]        F:\fortran\LSODE example\OPKSMAIN.for        3443        


分享到:  微信微信
收藏收藏1 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2015-1-30 18:41:00 | 只看该作者
工程属性,Fortran,Diagnostics,选择 Check Routine Interfaces 为 NO

3

帖子

1

主题

0

精华

入门

F 币
44 元
贡献
22 点
板凳
 楼主| 发表于 2015-1-30 19:16:22 | 只看该作者
vvt 发表于 2015-1-30 18:41
工程属性,Fortran,Diagnostics,选择 Check Routine Interfaces 为 NO

解决了,非常感谢!

1

帖子

0

主题

0

精华

新人

F 币
9 元
贡献
2 点
地板
发表于 2016-4-8 07:36:34 | 只看该作者
vvt 发表于 2015-1-30 18:41
工程属性,Fortran,Diagnostics,选择 Check Routine Interfaces 为 NO

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

2022

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1598 元
贡献
689 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

5#
发表于 2016-4-8 08:55:44 | 只看该作者
因为老代码书写不严谨。老编译器没有做必要的接口检查。没有检测实参虚参是否一致。

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

29

帖子

3

主题

0

精华

熟手

F 币
214 元
贡献
112 点
6#
发表于 2016-4-9 08:53:17 | 只看该作者
我也碰到过该问题,设置“不检查接口”的编译选项,是通过比较两个项目的项目属性设置,发现的
呵呵呵
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-24 01:51

Powered by Tencent X3.4

© 2013-2024 Tencent

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