Alguien ha llegado a través de un Fortran 77 emulador o compilador para dispositivos iOS?
Respuestas
¿Demasiados anuncios?Esto puede lograrse mediante el uso de la Dragonegg plugin para GCC (frontend), un genérico LLVM instalación (backend), y el de Apple enlazador. He sido capaz de construir y ejecutar un sistema de 64 bits Fortran aplicación en iOS 8.1 construido en Mac OS X 10.10, utilizando GCC 4.8 y LLVM 3.5. El proceso no es muy sencillo y requiere de un número de hacks y algunas secuencias de comandos, pero los pasos de alto nivel son:
- Instalar GCC 4.8 de HPC para Mac OS X en /usr/local
- Instalar Clang/LLVM 3.5 de llvm.org en /usr/local
- Descargar el Dragonegg el código fuente de la LLVM sitio web
- Construir dragonegg.así que e instalarlo en /usr/local/lib/gcc/x86_64-apple-darwin12.5.0/4.8.1/plugin
- Descarga GCC 4.8.1 fuentes
- Construir libgfortran para arm64 el uso de una combinación de Apple clang para C/C++, Dragonegg para Fortran, y algunos de contenedor de secuencias de comandos para juntar los compiladores
- Instalar libgfortran.dylib y libgfortran.3.dylib a /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib
- Instalar libgfortran.3.dylib en el iPhone bajo /usr/local/lib
Ahora, si llegado a este punto, compilar un archivo de código fuente Fortran en iOS binario utilizando:
- gfortran -O3 -fplugin=dragonegg -fplugin-arg-dragonegg-llvm-codegen-optimizar=3 -fplugin-arg-dragonegg-emitir-ir -S-o principal.s principales.f
- llc -mtriple arm64-apple-darwin -filetype=obj -o principal.o principal.s
- ld -arco arm64 -syslibroot /Aplicaciones/Xcode.app/Contents/Desarrollador/Plataformas/iPhoneOS.plataforma/Desarrollador/SDKs/iPhoneOS8.1.sdk-lSystem -lgfortran principal.o-o principal
Binarios precompilados para Dragonegg y libgfortran se puede encontrar aquí: http://download.zeroepoch.com/gfortran-ios/gfortran-ios.tar.bz2
ACTUALIZACIÓN: Los binarios precompilados archivo ahora contiene grasa bibliotecas (armv7s, arm64) y algunas correcciones de errores para el contenedor de secuencias de comandos.
Tal vez lo mejor es hacerse con un pre-compilador de la traducción de Fortran a C (e integrarlo en Xcode como separado de la estructura paso a paso). Una de estas herramientas es, por ejemplo, http://www.greatmigrations.com/tools_gmFortran.aspx
Tal vez uno puede tener también un vistazo a la gnu compilador de fortran, que yo recuerde también que comenzó como un precompilador de la traducción de Fortran a C. http://gcc.gnu.org/fortran/