文件名和后缀
这是一个在众多OCaml生成平台上使用的标准文件名和后缀名的参考.
源文件和目标文件
与C语言源文件、目标文件和二进制文件的对照:
用途 | C | 字节码 | 原生码 |
---|---|---|---|
源文件 | *.c | *.ml | *.ml |
头文件1 | *.h | *.mli | *.mli |
目标文件 | *.o | *.cmo | *.cmx2 |
库文件 | *.a | *.cma | *.cmxa3 |
二进制程序 | prog | prog | prog.opt4 |
注释
- 在C中,头文件用来描述函数等,但只是一项传统而已。而在OCaml中,
*.mli
文件用来导出模块的签名(signature),且编译器严格执行它。就拿模块的一个叫Foo
的通用例子来说, 你有两个文件:foo.ml
和foo.mli
。foo.ml
是实现,foo.mli
是接口或标签.同时注意,要取得模块名得把文件名的首字母大写.例如, 提扩展库中包括一个名为uTF8.mli
的文件,它是模块UTF8
的标签. - 同时存在一个对应的*.o 文件,它包含了实际的机器码,但你通常可以忽略它。
- 同时存在一个对应的 *.a文件,它包含了实际的机器码,但你通常可以忽略它。
- OCaml程序通常用这个。但事实上, 你可以给这个二进制文件取任意名称.