是否有适用于运行Android操作系统的机器的Fortran编译器。我发现有一些Fortran到C的翻译器,然后用C编译,但我想知道是否有像gfortran这样的编译器,适用于ARM/RISC机器或Android操作系统。
发布于 2016-03-25 06:05:57
可以让你的Fotran代码在Android中运行,但有一个很大的但是!据我所知,没有一个明确的Android (特别是) ARM目标Fortran编译器可以完成我认为必要的所有事情(但请参阅下面的PS )……我已经有几年没有研究过它了。
然而,你可以构建你自己的Android/Fortran apk,而且它肯定是有效的。
有很多种方法,但最成功/最不痛苦的(据我所知)是在Linux上用GCC/gFortran创建自己的交叉编译ARM/Fortran工具链(或者甚至通过在Windows上运行的“虚拟”Linux )。您可能需要将旧版本的ADT (Android开发工具)与Eclipse Photran结合使用。我还没有在较新的版本或AndroidStudio等上尝试过。
创建这样的工具链并不是一件容易的事情。你还需要学习如何在Java中进行“前端”编程,以及如何编写Android JNI/NDK等来链接(ARM Fortran可执行文件/库)。我的建议是你的第一个Apk应该是一个纯Android/Java的apk,然后再转向Fortran/C等JNI连接的机器。
最好的起点,以及两个最值得(如果不是几乎所有的话)值得称赞的人都在这里。
http://danilogiulianelli.blogspot.ca/2013/02/how-to-build-gcc-fortran-cross-compiler.html (Danilo Giulianelli)
还有这里
http://specificimpulses.blogspot.ca/2011/01/my-android-speaks-fortran-yours-can-too.html (Mike Long)
..。他们做了所有的“重担”。
我使用了他们的结果,并创建了各种基于Fortran的应用程序/apk,它们在智能手机/平板电脑上运行速度快得令人眼花缭乱。我已经对一些显而易见的测试进行了基准测试,例如基于Fortran、C和Java的LinPack基准测试版本...毫不奇怪,Fortran赢了。C稍慢一些。而Java在执行速度上远远落后(正如人们所预期的)。
PS。我看到过显式Fortran编译器的广告,这些编译器应该直接在Android上运行(例如在GooglePlay/Store上),但我自己还没有尝试过这些编译器,因为我的(初步)研究表明,这些编译器不能满足我的需求。也许这些对你来说是有用的。如果他们这样做了,请回复评论。
https://stackoverflow.com/questions/26803826
复制相似问题