reference - 如何从 fortran 中的引用中获取值?
问题描述
我正在尝试更新一段 fortran 代码,该代码根据 IDL 例程的输入进行计算。当 IDL 例程调用 fortran 时,它会传递每个变量的引用(IDL CALL_EXTERNAL 文档)。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 有点可疑。
如果这可能会导致问题,我可以使用什么来获取不会在任何地方引发警告的值,不需要我有一个简单的例程来传递引用,或者至少可以在任何编译器上工作?
另外,如果有人能澄清这里到底发生了什么或为什么,我也会很感激。
解决方案
推荐阅读
- asp.net-core - .NET Core - EF - 试图“或”建立在 for 循环中的位置
- javascript - 如何在 Django (CSRF-Token) 中使用 Javscript 发出 POST 请求?
- c++ - c++ 重写异常::what()
- reactjs - 全局滚动到顶部在 reactjs 中不起作用
- git - Git History VSC 不显示有关重命名文件的附加信息,而 TortoiseGit 则显示
- python - 如何防止诗歌考虑.gitignore
- lucene - Hibernate Search + Lucene:后备搜索停用词
- linux-kernel - 使用 sysfs 对 GPIO 没有响应
- sql - 如何知道该点位于 postgresql 中的 geom(Multipolygon) 内
- java - 服务器移动后IE中的“此内容无法在框架中显示”(相同域)