@FakeName Numeric dan pustaka pembelajaran mesin, sebagai beberapa contoh.
adib
Jawaban:
4
Ini dapat dilakukan dengan menggunakan plugin Dragonegg untuk GCC (frontend), instalasi LLVM umum (backend), dan penghubung Apple. Saya telah berhasil membangun dan menjalankan aplikasi Fortran 64-bit pada iOS 8.1 yang dibangun pada Mac OS X 10.10 menggunakan GCC 4.8 dan LLVM 3.5. Prosesnya tidak terlalu mudah dan membutuhkan sejumlah peretasan dan beberapa skrip, tetapi langkah-langkah tingkat tinggi adalah:
Instal GCC 4.8 dari HPC untuk Mac OS X ke / usr / local
Instal Dentang / LLVM 3.5 dari llvm.org ke / usr / local
Unduh kode sumber Dragonegg dari situs web LLVM
Bangun dragonegg.so dan instal ke /usr/local/lib/gcc/x86_64-apple-darwin12.5.0/4.8.1/plugin
Unduh sumber GCC 4.8.1
Buat libgfortran untuk arm64 menggunakan kombinasi dentang Apple untuk C / C ++, Dragonegg untuk Fortran, dan beberapa skrip pembungkus untuk menyatukan kompiler
Instal libgfortran.dylib dan libgfortran.3.dylib ke /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib
Instal libgfortran.3.dylib pada iPhone di bawah / usr / local / lib
Sekarang jika Anda sejauh ini, kompilasi file sumber Fortran ke dalam biner iOS menggunakan:
FYI, saya bisa mengkompilasi semua tolok ukur Fortran dari SPEC FP untuk iOS menggunakan metode ini.
Eric
Bisakah Anda lebih spesifik dengan langkah ke-6 Anda, membangun libgfortran untuk arm64? Saya mencoba mencari cara untuk membangunnya tetapi saya tidak berhasil.
Alessandra Siqueira da Silva P
Saya harus menyelesaikan pekerjaan ini dengan cepat sehingga saya tidak membuat catatan, tetapi saya tidak ingin kehilangan binari. Saya hanya ingat saya harus meretas sumbernya sedikit. Mayoritas masalahnya adalah mengatur kompiler fortran ke skrip pembungkus saya karena gfortran memiliki beberapa perpustakaan fortran di dalamnya.
Eric
Terima kasih banyak atas idenya. Berhasil. Mengenai langkah ke-8, saya tidak dapat menyalin dylib ke lokasi yang diusulkan. Aku harus mengubah lokasi seperti ini: install_name_tool -id @executable_path/../Frameworks/libgfortran.3.dylib libgfortran.3.dylib. Dalam XCode diperlukan langkah pembuatan Salin. Salin libgfortran.3.dylib dan tetapkan tujuan ke Executables .
timomeinen
3
Mungkin sebaiknya dilakukan dengan pra-kompiler menerjemahkan Fortran ke C (dan mengintegrasikannya ke dalam Xcode sebagai langkah build terpisah). Salah satu alat tersebut adalah misalnya http://www.greatmigrations.com/tools_gmFortran.aspx
Mungkin kita juga bisa melihat pada kompiler gnu fortran, sejauh yang saya ingat juga dimulai sebagai precompiler yang menerjemahkan Fortran ke C. http://gcc.gnu.org/fortran/
Jawaban:
Ini dapat dilakukan dengan menggunakan plugin Dragonegg untuk GCC (frontend), instalasi LLVM umum (backend), dan penghubung Apple. Saya telah berhasil membangun dan menjalankan aplikasi Fortran 64-bit pada iOS 8.1 yang dibangun pada Mac OS X 10.10 menggunakan GCC 4.8 dan LLVM 3.5. Prosesnya tidak terlalu mudah dan membutuhkan sejumlah peretasan dan beberapa skrip, tetapi langkah-langkah tingkat tinggi adalah:
Sekarang jika Anda sejauh ini, kompilasi file sumber Fortran ke dalam biner iOS menggunakan:
Binari yang telah dikompilasi untuk Dragonegg dan libgfortran dapat ditemukan di sini: http://download.zeroepoch.com/gfortran-ios/gfortran-ios.tar.bz2
PEMBARUAN: Arsip binari yang dikompilasi sekarang berisi pustaka lemak (armv7s, arm64) dan beberapa perbaikan bug pada skrip wrapper.
sumber
install_name_tool -id @executable_path/../Frameworks/libgfortran.3.dylib libgfortran.3.dylib
. Dalam XCode diperlukan langkah pembuatan Salin. Salin libgfortran.3.dylib dan tetapkan tujuan ke Executables .Mungkin sebaiknya dilakukan dengan pra-kompiler menerjemahkan Fortran ke C (dan mengintegrasikannya ke dalam Xcode sebagai langkah build terpisah). Salah satu alat tersebut adalah misalnya http://www.greatmigrations.com/tools_gmFortran.aspx
Mungkin kita juga bisa melihat pada kompiler gnu fortran, sejauh yang saya ingat juga dimulai sebagai precompiler yang menerjemahkan Fortran ke C. http://gcc.gnu.org/fortran/
sumber