fortran - 使用 Julia 编译 Fortran77

标签 fortran julia fortran77

我有一堆 Fortran77 代码需要用于我的研究,但我在编译它以使其在我的 MacBook 上运行时遇到了麻烦,所以我求助于 Julia。我对这门语言很陌生,但我一生都无法弄清楚如何直接在 Julia 中执行 Fortran 脚本。我想要的只是有一个运行 F77 脚本并将控制权直接交给 Fortran 的程序。我只想用 Julia 或 Numpy 重写它,但有大约 10,000 行代码和不到 200 行注释,我没有时间这样做。

最佳答案

从你的问题的措辞看来,你想使用 Julia 直接调用 Fortran“脚本”——大概是 Fortran .f 源文件——准确吗?

正如其他人在评论中指出的那样,Fortran 不是一种脚本语言:您不能直接执行 Fortran 源文件;相反,您必须使用 Fortran 编译器(例如 gfortranifort )将 Fortran 程序转换为您要运行程序的系统的 native 库或可执行文件。 Julia 不会以任何方式帮助解决这个问题,因为 Julia 不是 Fortran 解释器或编译器 - 它既不能直接运行 Fortran 代码,也不能将 Fortran 源文件转换为可执行文件/库。

但是,如果您已经编译了 Fortran 共享库(Linux 上的 .so 文件、macOS 上的 .dylib.dll在 Windows 上),您可以从 Julia 轻松调用它,如 Integrating Fortran code in Julia 中所述。 。如果您可以将 Fortran 源代码编译为可执行文件(而不是共享库),那么您不需要任何其他东西来运行它 - 根据定义,可执行文件是独立的。

大多数使用 Fortran 或 C/C++ 等编译语言的项目都带有 Makefiles或其他机制来帮助调用编译器生成适当的二进制工件(可执行文件和/或库)。

关于fortran - 使用 Julia 编译 Fortran77,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44252373/

相关文章:

ios - 是否可以为 iPad 编译 Fortran 代码?

matrix - 如何将一个巨大的矩阵逐行写入文件(fortran 90)

c++ - C/C++ 不透明指针库

julia - 在 Julia 中实现涉及 if、else 和矩阵的函数的困难

dataframe - 如何在 julia 数据框中按名称删除多列?

fortran - 尝试在子例程中写入字符串导致错误

pointers - 使用指针的 Fortran 链表中的内存泄漏

c++ - C++ 中对 Fortran 函数的 undefined reference

python - Julia:用数组中的字符串替换数字

io - Fortran:如何从文件读取数组