Ini adalah perintah ocamlopt yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
ocamlopt - Kompiler kode asli OCaml
RINGKASAN
ocamlopt [ Pilihan ] nama file ...
ocamlopt.opt (opsi yang sama)
DESKRIPSI
Kompiler kode asli berkinerja tinggi OCaml ocamlopt(1) mengkompilasi file sumber OCaml ke
file objek kode asli dan tautkan file objek ini untuk menghasilkan executable mandiri.
The ocamlopt(1) perintah memiliki antarmuka baris perintah yang sangat dekat dengan ocamlc(1). Dia
menerima jenis argumen yang sama dan memprosesnya secara berurutan:
Argumen yang diakhiri dengan .mli dianggap sebagai file sumber untuk antarmuka unit kompilasi.
Antarmuka menentukan nama yang diekspor oleh unit kompilasi: mereka mendeklarasikan nama nilai dengan
tipenya, mendefinisikan tipe data publik, mendeklarasikan tipe data abstrak, dan seterusnya. Dari
fillet x.mli, itu ocamlopt(1) kompiler menghasilkan antarmuka yang dikompilasi dalam file x.cmi. NS
antarmuka yang dihasilkan identik dengan yang dihasilkan oleh bytecode compiler ocamlc(1).
Argumen yang diakhiri dengan .ml dianggap sebagai file sumber untuk implementasi unit kompilasi.
Implementasi memberikan definisi untuk nama yang diekspor oleh unit, dan juga berisi
ekspresi yang akan dievaluasi untuk efek sampingnya. Dari file x.ml, itu ocamlopt(1)
compiler menghasilkan dua file: x.o, berisi kode objek asli, dan x.cmx, mengandung
informasi tambahan untuk menghubungkan dan mengoptimalkan klien unit. yang dikompilasi
implementasi harus selalu dirujuk dengan nama x.cmx (bila diberi file .o,
ocamlopt(1) mengasumsikan bahwa itu berisi kode yang dikompilasi dari C, bukan dari OCaml).
Implementasi diperiksa terhadap file antarmuka x.mli (jika ada) seperti yang dijelaskan
dalam manual untuk ocamlc(1).
Argumen yang diakhiri dengan .cmx dianggap sebagai kode objek yang dikompilasi. File-file ini terhubung
bersama-sama, bersama dengan file objek yang diperoleh dengan mengompilasi argumen .ml (jika ada), dan
pustaka standar OCaml, untuk menghasilkan program yang dapat dieksekusi dengan kode asli. Urutan di
argumen .cmx dan .ml mana yang disajikan pada baris perintah relevan: kompilasi
unit diinisialisasi dalam urutan itu pada saat run-time, dan ini adalah kesalahan link-time untuk menggunakan a
komponen unit sebelum menginisialisasinya. Oleh karena itu, diberikan xFile .cmx harus datang
sebelum semua file .cmx yang merujuk ke unit x.
Argumen yang diakhiri dengan .cmxa dianggap sebagai pustaka kode objek. Paket perpustakaan seperti itu
dalam dua file lib.cmxa dan lib.aa kumpulan file objek (file .cmx/.o). Perpustakaan sedang dibangun
dengan ocamlopt -a (lihat deskripsi -a pilihan di bawah). File objek berisi
di perpustakaan ditautkan sebagai file .cmx biasa (lihat di atas), dalam urutan yang ditentukan saat
perpustakaan dibangun. Satu-satunya perbedaan adalah jika file objek yang terkandung dalam a
perpustakaan tidak direferensikan di mana pun dalam program, maka itu tidak ditautkan.
Argumen yang diakhiri dengan .c diteruskan ke kompiler C, yang menghasilkan file objek .o.
File objek ini terhubung dengan program.
Argumen yang diakhiri dengan .o atau .a diasumsikan sebagai file dan pustaka objek C. Mereka
dihubungkan dengan program.
Output dari fase penautan adalah file executable Unix biasa. Itu tidak perlu
ocamlrun(1) untuk berlari.
ocamlopt.opt adalah kompiler yang sama dengan ocamlopt, tetapi dikompilasi dengan dirinya sendiri alih-alih dengan
kompiler bytecode ocamlc(1). Dengan demikian, ia berperilaku persis seperti ocamlopt, tetapi mengkompilasi
lebih cepat. ocamlopt.opt tidak tersedia di semua instalasi OCaml.
PILIHAN
Opsi baris perintah berikut dikenali oleh: ocamlopt(1).
-a Bangun perpustakaan (file .cmxa/.a) dengan file objek (file .cmx/.o) yang diberikan pada
baris perintah, alih-alih menautkannya ke file yang dapat dieksekusi. Nama dari
perpustakaan harus disetel dengan -o .
If -cclib or -copt opsi dilewatkan pada baris perintah, opsi ini adalah
disimpan di perpustakaan .cmxa yang dihasilkan. Kemudian, menautkan dengan perpustakaan ini
secara otomatis menambahkan kembali -cclib dan -copt pilihan seolah-olah telah disediakan
di baris perintah, kecuali jika -tidak ada tautan otomatis opsi diberikan. Selain itu,
BERGANTI $CAMLORIGIN di dalam a -copt opsi akan digantikan oleh jalur lengkap ke
perpustakaan .cma, tidak termasuk nama file.
-namaabs
Tampilkan nama file absolut dalam pesan kesalahan.
-tidak Buang informasi rinci tentang kompilasi (tipe, binding, tail-call, dll).
Informasi untuk file src.ml dimasukkan ke dalam file src.annot. Dalam kasus jenis
kesalahan, buang semua informasi yang disimpulkan oleh pemeriksa tipe sebelum kesalahan. NS
srcFile .annot dapat digunakan dengan perintah emacs yang diberikan di emacs/caml-types.el untuk
jenis tampilan dan anotasi lainnya secara interaktif.
-bin-tidak
Buang informasi terperinci tentang kompilasi (tipe, binding, tail-call, dll)
dalam format biner. Informasi untuk file src.ml dimasukkan ke dalam file src.cmt. Di dalam
kasus kesalahan tipe, buang semua informasi yang disimpulkan oleh pemeriksa tipe sebelumnya
kesalahan. File anotasi yang dihasilkan oleh -bin-tidak mengandung lebih banyak informasi
dan jauh lebih ringkas daripada file yang dihasilkan oleh -tidak.
-c Kompilasi saja. Menekan fase menghubungkan kompilasi. File kode sumber adalah
diubah menjadi file yang dikompilasi, tetapi tidak ada file yang dapat dieksekusi yang dihasilkan. Pilihan ini adalah
berguna untuk mengkompilasi modul secara terpisah.
-cc comp
penggunaan comp sebagai C linker dipanggil untuk membangun executable akhir dan sebagai C
compiler untuk mengkompilasi file sumber .c.
-cclib -lnama lib
Melewati -lnama lib pilihan untuk linker. Ini menyebabkan pustaka C yang diberikan menjadi
dihubungkan dengan program.
-copt Option
Berikan opsi yang diberikan ke compiler C dan linker. Contohnya, -copt -Ldir
menyebabkan tautan C mencari pustaka C di direktori dir.
-kompak
Optimalkan kode yang dihasilkan untuk ruang daripada waktu. Ini menghasilkan lebih kecil
tapi program sedikit lebih lambat. Standarnya adalah mengoptimalkan kecepatan.
-konfig
Cetak nomor versi dari ocamlopt(1) dan ringkasan detailnya
konfigurasi, lalu keluar.
-untuk-paket jalur-modul
Hasilkan file objek (file .cmx dan .o) yang nantinya dapat dimasukkan sebagai sub-
modul (dengan jalur akses yang diberikan) dari unit kompilasi yang dibangun dengan -Pak.
Misalnya, ocamlopt -untuk-paket P -c A.ml akan menghasilkan file a.cmx dan ao yang
nantinya dapat digunakan dengan ocamlopt -Pak -o P.cmx a.cmx.
-g Tambahkan informasi debug saat mengkompilasi dan menautkan. Opsi ini diperlukan dalam
untuk menghasilkan stack backtrace ketika program berakhir pada uncaught
pengecualian (lihat ocamlrun(1)).
-i Menyebabkan kompiler mencetak semua nama yang ditentukan (dengan tipe yang disimpulkan atau
definisi) saat mengkompilasi implementasi (file .ml). Tidak ada file yang dikompilasi (.cmo
dan file .cmi) diproduksi. Ini dapat berguna untuk memeriksa jenis yang disimpulkan oleh
kompiler. Juga, karena output mengikuti sintaks antarmuka, ini dapat membantu
dalam menulis antarmuka eksplisit (file .mli) untuk file: hanya mengarahkan ulang standar
output kompiler ke file .mli, dan edit file itu untuk menghapus semua
deklarasi nama yang tidak diekspor.
-I direktori
Tambahkan direktori yang diberikan ke daftar direktori yang dicari untuk antarmuka yang dikompilasi
file (.cmi), file kode objek yang dikompilasi (.cmx), dan perpustakaan (.cmxa). Secara default,
direktori saat ini dicari terlebih dahulu, kemudian direktori perpustakaan standar.
Direktori yang ditambahkan dengan -I dicari setelah direktori saat ini, dalam urutan
yang diberikan pada baris perintah, tetapi sebelum perpustakaan standar
direktori. Lihat juga opsi -nostdlib.
Jika direktori yang diberikan dimulai dengan +, itu diambil relatif terhadap perpustakaan standar
direktori. Contohnya, -I +kompiler-libs menambahkan subdirektori kompiler-libs of
perpustakaan standar ke jalur pencarian.
-tersirat nama file
Kompilasi file nama file sebagai file implementasi, meskipun ekstensinya tidak
.ml.
-Di barisan n
Setel agresivitas inlining ke n, Di mana n adalah bilangan bulat positif. Menentukan
-Di barisan 0 mencegah semua fungsi digarisbawahi, kecuali yang tubuhnya
lebih kecil dari situs panggilan. Jadi, inlining tidak menyebabkan perluasan dalam ukuran kode. NS
agresivitas default, -Di barisan 1, memungkinkan fungsi yang sedikit lebih besar untuk disejajarkan,
menghasilkan sedikit ekspansi dalam ukuran kode. Nilai yang lebih tinggi untuk -Di barisan Option
menyebabkan fungsi yang lebih besar dan lebih besar menjadi kandidat untuk inlining, tetapi dapat mengakibatkan
dalam peningkatan yang serius dalam ukuran kode.
-intf nama file
Kompilasi file nama file sebagai file antarmuka, meskipun ekstensinya bukan .mli.
-intf-akhiran string
Kenali nama file yang diakhiri dengan string sebagai file antarmuka (bukan default
.mli).
-simpan-lokasi
Simpan string dokumentasi dalam file .cmi yang dihasilkan.
-simpan-lokasi
Simpan lokasi di file .cmi yang dihasilkan.
-label
Label tidak diabaikan dalam jenis, label dapat digunakan dalam aplikasi, dan diberi label
parameter dapat diberikan dalam urutan apa pun. Ini adalah default.
-tautan semua
Paksa semua modul yang ada di perpustakaan untuk ditautkan. Jika tanda ini tidak
diberikan, modul yang tidak direferensikan tidak ditautkan. Saat membangun perpustakaan (-a bendera),
mengatur -tautan semua flag memaksa semua tautan program berikutnya yang melibatkan itu
library untuk menghubungkan semua modul yang terdapat di library.
-tanpa-alias-deps
Jangan merekam dependensi untuk alias modul.
-tidak ada-fungsi-aplikasi
Menonaktifkan perilaku aplikatif functors. Dengan opsi ini, setiap functor
aplikasi menghasilkan tipe baru dalam hasilnya dan menerapkan fungsi yang sama dua kali
untuk argumen yang sama menghasilkan dua struktur yang tidak kompatibel.
-tidak menegaskan
Jangan mengkompilasi pemeriksaan asersi. Perhatikan bahwa bentuk khusus menegaskan palsu selalu
dikompilasi karena diketik secara khusus. Bendera ini tidak berpengaruh saat menautkan
file yang sudah dikompilasi.
-tidak ada tautan otomatis
Saat menautkan pustaka .cmxa, abaikan -cclib dan -copt pilihan yang berpotensi
terkandung dalam perpustakaan (jika opsi ini diberikan saat membangun
perpustakaan). Ini dapat berguna jika pustaka berisi spesifikasi C . yang salah
perpustakaan atau opsi C; dalam hal ini, selama penautan, atur -tidak ada tautan otomatis dan lulus
perpustakaan dan opsi C yang benar pada baris perintah.
-nodynlink
Izinkan kompiler untuk menggunakan beberapa pengoptimalan yang hanya valid untuk kode yang
tidak pernah dynlink.
-nostdlib
Jangan secara otomatis menambahkan direktori perpustakaan standar ke daftar direktori
mencari file antarmuka terkompilasi (.cmi), file kode objek terkompilasi (.cmx),
dan perpustakaan (.cmxa). Lihat juga opsi -I.
-nolabel
Abaikan label non-opsional dalam tipe. Label tidak dapat digunakan dalam aplikasi, dan
urutan parameter menjadi ketat.
-o file-exe
Tentukan nama file output yang dihasilkan oleh linker. Nama keluaran default
adalah a.out, sesuai dengan tradisi Unix. jika -a opsi diberikan, tentukan
nama perpustakaan yang dihasilkan. jika -Pak pilihan diberikan, tentukan nama
file objek yang dikemas diproduksi. jika -keluaran-obj opsi diberikan, tentukan
nama file output yang dihasilkan. jika -bersama opsi diberikan, tentukan namanya
dari file plugin yang dihasilkan. Ini juga dapat digunakan saat mengkompilasi antarmuka atau
file implementasi, tanpa menautkan, dalam hal ini ia menetapkan nama cmi atau
cmo, dan juga mengatur nama modul ke nama file hingga titik pertama.
-Buka modul
Membuka modul yang diberikan sebelum memproses antarmuka atau file implementasi. Jika
beberapa -Buka pilihan diberikan, mereka diproses secara berurutan, sama seperti jika
pernyataan terbuka! modul 1;; ... membuka! modulN;; ditambahkan di bagian atas setiap file.
-keluaran-obj
Menyebabkan penaut menghasilkan file objek C alih-alih file yang dapat dieksekusi. Ini adalah
berguna untuk membungkus kode OCaml sebagai pustaka C, dapat dipanggil dari program C apa pun. Nama dari
file objek keluaran harus disetel dengan -o pilihan. Pilihan ini juga bisa
digunakan untuk menghasilkan pustaka bersama/dinamis yang dikompilasi (ekstensi .so).
-p Hasilkan kode tambahan untuk menulis informasi profil saat program dijalankan. NS
informasi profil kemudian dapat diperiksa dengan program analisis gprof(1). Itu
-p opsi harus diberikan baik pada waktu kompilasi maupun pada waktu tautan. Menghubungkan objek
file tidak dikompilasi dengan -p mungkin, tetapi menghasilkan profil yang kurang tepat.
Lihat gprof(1) halaman manual untuk informasi lebih lanjut tentang profil.
Dukungan penuh untuk gprof(1) hanya tersedia untuk platform tertentu (saat ini: Intel
x86/Linux dan Alfa/Unix Digital). Di platform lain, -p pilihan akan menghasilkan
dalam profil yang kurang tepat (tidak ada informasi grafik panggilan, hanya profil waktu).
-Pak Buat file objek (file .cmx dan .o) dan antarmuka terkompilasi yang terkait
(.cmi) yang menggabungkan file objek .cmx yang diberikan pada baris perintah, menjadikannya
muncul sebagai sub-modul dari file .cmx keluaran. Nama file .cmx keluaran
harus diberikan dengan -o pilihan. Contohnya,
ocamlopt -Pak -o P.cmx A.cmx B.cmx C.cmx menghasilkan file yang dikompilasi P.cmx, Po dan
P.cmi menjelaskan unit kompilasi yang memiliki tiga sub-modul A, B dan C,
sesuai dengan isi file objek A.cmx, B.cmx dan C.cmx. Ini
isi dapat dirujuk sebagai PA, PB dan PC di sisa program.
File objek .cmx yang digabungkan harus telah dikompilasi dengan yang sesuai
-untuk-paket pilihan. Pada contoh di atas, A.cmx, B.cmx dan C.cmx pastilah
dikompilasi dengan ocamlopt -untuk-paket P.
Beberapa tingkat pengepakan dapat dicapai dengan menggabungkan -Pak dengan -untuk-paket. Lihat
The Ocaml pengguna panduan, bab "Kompilasi kode asli" untuk detail selengkapnya.
-hal Command
Menyebabkan kompiler memanggil yang diberikan Command sebagai praprosesor untuk setiap sumber
mengajukan. Keluaran dari Command diarahkan ke file perantara, yaitu
dikompilasi. Jika tidak ada kesalahan kompilasi, file perantara akan dihapus
setelah itu.
-ppx Command
Setelah parsing, pipa pohon sintaksis abstrak melalui preprocessor Command. itu
modul Pemeta_ast(3) mengimplementasikan antarmuka eksternal dari preprosesor.
-Kepala Sekolah
Periksa jalur informasi selama pengecekan tipe, untuk memastikan bahwa semua tipe telah
diturunkan dengan cara utama. Semua program diterima di -Kepala Sekolah modus juga
diterima dalam mode default dengan tipe yang setara, tetapi tanda tangan biner yang berbeda.
-retypes
Izinkan tipe rekursif sewenang-wenang selama pengecekan tipe. Secara default, hanya rekursif
tipe di mana rekursi melewati tipe objek didukung. Perhatikan bahwa sekali
Anda telah membuat antarmuka menggunakan bendera ini, Anda harus menggunakannya lagi untuk semua
ketergantungan.
-varian-runtime akhiran
Add akhiran dengan nama runtime library yang akan digunakan oleh program. Jika
OCaml dikonfigurasi dengan opsi -dengan-debug-runtime, lalu d akhiran adalah
didukung dan memberikan versi debug runtime.
-S Simpan kode perakitan yang dihasilkan selama kompilasi. Kode perakitan untuk
sumber data x.ml disimpan dalam file x.S.
-tali-aman
Terapkan pemisahan antar jenis string dan byte, sehingga membuat string terbaca-
hanya. Ini akan menjadi default di versi OCaml yang akan datang.
-bersama
Buat plugin (biasanya .cmxs) yang dapat dimuat secara dinamis dengan Dinlink
modul. Nama plugin harus disetel dengan -o pilihan. Sebuah plugin dapat menyertakan
sejumlah modul dan pustaka OCaml, dan objek asli tambahan (file .o, .a).
Membangun plugin asli hanya didukung untuk beberapa sistem operasi. Di bawah beberapa
sistem (saat ini, hanya Linux AMD 64), semua kode OCaml yang ditautkan dalam sebuah plugin harus
telah dikompilasi tanpa -nodynlink bendera. Beberapa kendala mungkin juga berlaku
dengan cara objek ekstra asli telah dikompilasi (di Linux AMD 64, mereka
hanya boleh berisi kode posisi-independen).
-jalan pendek
Ketika suatu tipe terlihat di bawah beberapa jalur modul, gunakan jalur terpendek ketika
mencetak nama jenis dalam antarmuka yang disimpulkan dan pesan kesalahan dan peringatan.
-urutan-ketat
Bagian kiri dari suatu urutan harus memiliki tipe unit.
-benang
Kompilasi atau tautkan program multithreaded, dalam kombinasi dengan thread sistem
perpustakaan dijelaskan dalam The Ocaml pengguna panduan.
-tidak aman
Matikan pemeriksaan terikat untuk akses array dan string (the v.(i)dans[i]
konstruksi). Program yang dikompilasi dengan -tidak aman karena itu lebih cepat, tetapi tidak aman:
apa pun bisa terjadi jika program mengakses larik atau string di luarnya
batas. Selain itu, matikan centang untuk pembagi nol dalam pembagian bilangan bulat dan
operasi modulus. Dengan -tidak aman, pembagian bilangan bulat (atau modulus) dengan nol dapat
menghentikan program atau melanjutkan dengan hasil yang tidak ditentukan alih-alih menaikkan a
Pembagian_dengan_nol pengecualian.
-string-tidak aman
Mengidentifikasi jenis string dan byte, sehingga membuat string dapat ditulis. Untuk alasan
kompatibilitas mundur, ini adalah pengaturan default untuk saat ini, tetapi ini
akan berubah di versi OCaml yang akan datang.
-v Cetak nomor versi kompiler dan lokasi perpustakaan standar
direktori, lalu keluar.
-verbose
Cetak semua perintah eksternal sebelum dieksekusi, khususnya pemanggilan
assembler, compiler C, dan linker.
-versi or -vnum
Cetak nomor versi kompilator dalam bentuk singkat (misalnya "3.11.0"), lalu keluar.
-w daftar peringatan
Aktifkan, nonaktifkan, atau tandai sebagai fatal peringatan yang ditentukan oleh argumen
daftar peringatan. Lihat ocamlc(1) untuk sintaks dari daftar peringatan.
-peringatan-kesalahan daftar peringatan
Tandai sebagai fatal peringatan yang ditentukan dalam argumen daftar peringatan. Kompilator
akan berhenti dengan kesalahan ketika salah satu peringatan ini dikeluarkan. NS daftar peringatan
memiliki arti yang sama dengan -w pilihan: a + tanda (atau huruf besar) tanda
peringatan yang sesuai sebagai fatal, a - tanda (atau huruf kecil) mengubahnya
kembali ke peringatan non-fatal, dan a @ tandai keduanya memungkinkan dan tandai sebagai fatal
peringatan yang sesuai.
Catatan: tidak disarankan untuk menggunakan -peringatan-kesalahan pilihan dalam kode produksi,
karena hampir pasti akan mencegah kompilasi program Anda dengan versi yang lebih baru
OCaml ketika mereka menambahkan peringatan baru atau memodifikasi peringatan yang ada.
Pengaturan standar adalah -peringatan-kesalahan -a (semua peringatan tidak fatal).
-peringatan-bantuan
Tampilkan deskripsi semua nomor peringatan yang tersedia.
-di mana Cetak lokasi perpustakaan standar, lalu keluar.
- fillet Proses fillet sebagai nama file, meskipun diawali dengan karakter tanda hubung (-).
-bantu or --membantu
Tampilkan ringkasan penggunaan singkat dan keluar.
PILIHAN UNTUK THE IA32 ARSITEKTUR
Generator kode IA32 (Intel Pentium, AMD Athlon) mendukung tambahan berikut:
opsi:
-cepat-matematika
Gunakan instruksi IA32 untuk menghitung fungsi trigonometri dan eksponensial,
alih-alih memanggil rutinitas perpustakaan yang sesuai. Fungsi yang terpengaruh adalah:
atan, atan2, sebab, mencatat, log10, dosa, persegi dan tan. Kode yang dihasilkan berjalan lebih cepat,
tetapi kisaran argumen yang didukung dan ketepatan hasilnya bisa
berkurang. Khususnya, operasi trigonometri sebab, dosa, tan memiliki jangkauan mereka
dikurangi menjadi [-2^64, 2^64].
PILIHAN UNTUK THE AMD64 ARSITEKTUR
Generator kode AMD64 (versi 64-bit Intel Pentium dan AMD Athlon) mendukung:
opsi tambahan berikut:
-fPIC Menghasilkan kode mesin posisi-independen. Ini adalah default.
-fno-PIC
Hasilkan kode mesin yang bergantung pada posisi.
PILIHAN UNTUK THE SPARC ARSITEKTUR
Generator kode Sparc mendukung opsi tambahan berikut:
-maret=v8
Hasilkan kode SPARC versi 8.
-maret=v9
Hasilkan kode SPARC versi 9.
Standarnya adalah menghasilkan kode untuk SPARC versi 7, yang berjalan pada semua prosesor SPARC.
PILIHAN UNTUK THE ARM ARSITEKTUR
Generator kode ARM mendukung opsi tambahan berikut:
-farch=armv4|armv5|armv5te|armv6|armv6t2|armv7
Pilih arsitektur target ARM
-ffpu=lunak|vfpv2|vfpv3-d16|vfpv3
Pilih perangkat keras titik-mengambang
-fPIC Menghasilkan kode mesin posisi-independen.
-fno-PIC
Hasilkan kode mesin yang bergantung pada posisi. Ini adalah default.
-ibu jari
Aktifkan pembuatan kode Thumb/Thumb-2
-fno-jempol
Nonaktifkan pembuatan kode Thumb/Thumb-2
Nilai default untuk arsitektur target, perangkat keras titik-mengambang, dan penggunaan ibu jari adalah
dipilih pada waktu konfigurasi saat membangun ocamlopt diri. Konfigurasi ini dapat berupa
diperiksa menggunakan ocamlopt -konfig. Arsitektur target tergantung pada pengaturan "model",
sementara dukungan perangkat keras titik-mengambang dan jempol ditentukan dari pengaturan ABI di
"sistem" ( linux_eabiorlinux_eabihf).
Gunakan ocamlopt online menggunakan layanan onworks.net