安装ocaml
USE="emacs" emerge -av ocaml
写个hello world
print_endline "Hello World!"
保存为hello.ml
用ocamlc hello.ml -o hello编译,运行正常
观察输出的可执行文件,只有12K,打开一看,发现是调用了ocamlrun的一个脚本,看来是字节码一类的东西,跟sbcl的fasl文件一样的生成方式
查找官网文档发现ocamlc是字节码编译器,ocamlopt才是native code编译器,
于是
ocamlopt hello.ml -o hello
strip -s hello
ldd hello
发现hello大小有180K,而且只依赖于glibc