ນີ້ແມ່ນຄໍາສັ່ງ js_of_ocaml ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
js_of_ocaml - OCaml bytecode ກັບ Javascript compiler
ລາຍລະອຽດ
js_of_ocaml(1) ເປັນຄອມພິວເຕີຈາກໂຄງການ OCaml bytecode ກັບ Javascript. ມັນເຮັດໃຫ້ມັນ
ເປັນໄປໄດ້ທີ່ຈະຂຽນໂປຼແກຼມ OCaml ທີ່ເຮັດວຽກຢູ່ໃນຕົວທ່ອງເວັບ.
ມັນມາພ້ອມກັບການຜູກມັດສໍາລັບສ່ວນໃຫຍ່ຂອງ APIs ຂອງຕົວທ່ອງເວັບ, ແລະໂຄງການທີ່ສ້າງຂຶ້ນ
ໄດ້ຖືກວັດແທກໂດຍປົກກະຕິແລ້ວແລ່ນຕົວແປພາສາ OCaml bytecode ໄດ້ໄວຂຶ້ນ.
ການນໍາໃຊ້
ໂປລແກລມຂອງເຈົ້າຕ້ອງຖືກລວບລວມຄັ້ງທໍາອິດໂດຍໃຊ້ OCaml bytecode compiler ocamlc(1).
ການຜູກມັດ Javascript, ເຊັ່ນດຽວກັນກັບການຂະຫຍາຍ syntax ທີ່ສອດຄ້ອງກັນ, ແມ່ນສະຫນອງໃຫ້ໂດຍ
js_of_ocaml package
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o input_file.byte input_file.ml
ຫຼັງຈາກນັ້ນ, ດໍາເນີນການ js_of_ocaml(1) compiler ເພື່ອຜະລິດລະຫັດ Javascript.
js_of_ocaml [ ທາງເລືອກໃນການ ] input_file.byte
OPTIONS
ຕົວເລືອກແຖວຄໍາສັ່ງຕໍ່ໄປນີ້ຖືກຮັບຮູ້ໂດຍ js_of_ocaml(1).
-ແມງໄມ້ ຊື່
ໂມດູນດີບັກ ຊື່
- ປິດການໃຊ້ງານ ຊື່
ປິດການເພີ່ມປະສິດທິພາບ ຊື່
-ງາມ
pretty ພິມຜົນຜະລິດ
-debuginfo
ອອກຂໍ້ມູນດີບັກ
- noinline
ປິດການໃຊ້ງານ inlining
-noruntime
ບໍ່ລວມເວລາແລ່ນມາດຕະຖານ
- ລະດັບສູງສຸດ
ລວບລວມລະດັບສູງສຸດ
-I dir ຕື່ມ dir ຢູ່ໃນບັນຊີລາຍຊື່ຂອງບັນຊີລາຍການ
-o ເອກະສານ
ຕັ້ງຊື່ໄຟລ໌ຜົນຜະລິດເປັນ ເອກະສານ
-ຊ່ວຍ ສະແດງລາຍການທາງເລືອກ
- ຊ່ວຍ ສະແດງລາຍການທາງເລືອກ
ຄຸນລັກສະນະ, ຂອບເຂດ ຈຳ ກັດ
ຫ້ອງສະຫມຸດມາດຕະຖານ OCaml ທັງຫມົດຄວນໄດ້ຮັບການສະຫນັບສະຫນູນ, ຍົກເວັ້ນສໍາລັບຊ່ອງທາງການປ້ອນຂໍ້ມູນ / ຜົນຜະລິດ,
ການອ້າງອີງທີ່ອ່ອນແອ, ແລະຫນ້າທີ່ສ່ວນໃຫຍ່ຂອງໂມດູນ Sys. ຫ້ອງສະຫມຸດພິເສດເຊັ່ນ Bigarray,
ບໍ່ຮອງຮັບ Unix, Thread ຫຼື Str.
ການໂທຫາງບໍ່ໄດ້ຖືກປັບປຸງໂດຍທົ່ວໄປ. ຢ່າງໃດກໍຕາມ, ຫນ້າທີ່ຕົນເອງ recursive (ໃນເວລາທີ່ຫາງ
calls ແມ່ນຫນ້າທີ່ຂອງມັນເອງ) ຖືກລວບລວມເຂົ້າໄປໃນ loop.
ໂມດູນ recursive ຍັງບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນໃນເວລານີ້.
ການເປັນຕົວແທນຂໍ້ມູນແຕກຕ່າງຈາກແບບປົກກະຕິ, ສໍາລັບເຫດຜົນດ້ານການປະຕິບັດ. ໂດຍສະເພາະແມ່ນ,
ຈຳນວນເຕັມແມ່ນ 32 bit (ແທນທີ່ຈະເປັນ 31 ຫຼື 63 bits) ແລະ floats ບໍ່ໄດ້ຢູ່ໃນກ່ອງ. ດັ່ງນັ້ນ,
marshalling, ການປຽບທຽບ polymorphic, ແລະຫນ້າທີ່ hashing ສາມາດໃຫ້ຜົນໄດ້ຮັບທີ່ແຕກຕ່າງກັນ
ກ່ວາປົກກະຕິ:
· marshaling ຂອງ floats ແມ່ນ ບໍ່ ໄດ້ ສະ ຫນັບ ສະ ຫນູນ (ວຽກ unmarshaling);
· ຟັງຊັນ polymorphic hash ຈະບໍ່ໃຫ້ຜົນໄດ້ຮັບດຽວກັນກັບໂຄງສ້າງຂໍ້ມູນ
ປະກອບດ້ວຍ floats;
· ຟັງຊັນເຫຼົ່ານີ້ອາດຈະມີຄວາມສ່ຽງຕໍ່ການ stack overflow, ເນື່ອງຈາກວ່າ Javascript stack ມີຂະຫນາດນ້ອຍ.
ໃຊ້ js_of_ocaml ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net