• en
  • 中文

文件名和后缀

这是一个在众多OCaml生成平台上使用的标准文件名和后缀名的参考.

源文件和目标文件

与C语言源文件、目标文件和二进制文件的对照:

用途 C 字节码 原生码
源文件 *.c *.ml *.ml
头文件^1^1 *.h *.mli *.mli
目标文件 *.o *.cmo *.cmx2
库文件 *.a *.cma *.cmxa3
二进制程序 prog prog prog.opt4

注释

  1. 在C中,头文件用来描述函数等,但只是一项传统而已。而在OCaml中,*.mli文件用来导出模块的签名(signature),且编译器严格执行它。就拿模块的一个叫Foo的通用例子来说, 你有两个文件: foo.mlfoo.mlifoo.ml 是实现, foo.mli是接口或标签.同时注意,要取得模块名得把文件名的首字母大写.例如, 提扩展库中包括一个名为uTF8.mli 的文件,它是模块UTF8的标签.
  2. 同时存在一个对应的*.o 文件,它包含了实际的机器码,但你通常可以忽略它。
  3. 同时存在一个对应的 *.a文件,它包含了实际的机器码,但你通常可以忽略它。
  4. OCaml程序通常用这个。但事实上, 你可以给这个二进制文件取任意名称.