如何从fortran中的引用中获取值?

时间:2018-11-28 00:22:56

标签: reference fortran

我正在尝试更新一段基于IDL例程输入进行计算的fortran代码。当IDL例程调用fortran时,它将传递每个变量(IDL CALL_EXTERNAL documentation)的引用。当前,fortran代码尝试将输入数组中的每个引用与%VAL()标记一起传递到不同的子例程。

subroutine full_calc(argc, argv)

 implicit none

 integer*8 :: argc
 integer*8, dimension(24) :: argv

 call map_gen(%VAL(argv(1)), %VAL(argv(2)), ...)

end subroutine full_calc

这与先前的代码配合得很好,因为它以有用的方式进行了编译;但是,新的编译器发出警告,我正在传递INTEGER(8)而不是正确的变量类型。另外,根据this,使用%VAL有点可疑。

如果这可能会导致问题,那么我该如何使用这些值来获取不会在任何地方发出警告的值,不需要我仅具有传递引用的例程,或者至少可以在任何编译器上工作?

此外,如果任何人都可以澄清这里真正发生的事情或原因,我也将不胜感激。

0 个答案:

没有答案