这是 js_of_ocaml 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
js_of_ocaml - OCaml 字节码到 Javascript 编译器
商品描述
js_of_ocaml(1) 是一个从 OCaml 字节码程序到 Javascript 的编译器。 它使它
可以编写在 Web 浏览器上运行的 OCaml 程序。
它带有大部分浏览器 API 的绑定,以及生成的程序
经测量,OCaml 字节码解释器通常运行得更快。
用法
您的程序必须首先使用 OCaml 字节码编译器进行编译 欧美(1)。
Javascript 绑定以及相应的语法扩展由
js_of_ocaml 包。
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-语法 camlp4o -linkpkg -o 输入文件.字节 输入文件.ml
然后,运行 js_of_ocaml(1)编译器产生Javascript代码。
js_of_ocaml [ 选项 ] 输入文件.byte
配置
以下命令行选项被识别 js_of_ocaml(1)。
-调试 姓名
调试模块 姓名
-禁用 姓名
禁用优化 姓名
-漂亮
漂亮的打印输出
-调试信息
输出调试信息
-noinline
禁用内联
-noruntime
不包括标准运行时
-顶层
编译一个顶层
-I DIR 地址 DIR 到包含目录列表
-o 文件
将输出文件名设置为 文件
-救命 显示选项列表
- 帮帮我 显示选项列表
特征, 限制
应该支持整个 OCaml 标准库,除了输入/输出通道,
弱引用,以及 Sys 模块的大部分功能。 额外的库,如 Bigarray,
不支持 Unix、Thread 或 Str。
尾调用一般没有优化。 然而,自递归函数(当尾
对函数本身的调用)被编译成一个循环。
目前不支持递归模块。
出于性能原因,数据表示与通常的表示不同。 最为显着地,
整数是 32 位(而不是 31 或 63 位)并且浮点数没有装箱。 作为结果,
编组、多态比较和散列函数可以产生不同的结果
比平常:
· 不支持浮动的编组(解组工作);
· 多态散列函数不会在数据结构上给出相同的结果
包含浮标;
· 这些函数可能更容易发生堆栈溢出,因为 Javascript 堆栈很小。
使用 onworks.net 服务在线使用 js_of_ocaml