У меня есть три файла:Использование ocamlc для компиляции библиотек независимо
$ ls
lib.ml desk.ml test.ml
$ cat lib.ml
let myfunction() = print_endline "Hello world"
$ cat desk.ml
module Liberty = Lib
$ cat test.ml
Desk.Liberty.myfunction()
Я хочу, чтобы скомпилировать desk.cma
что делает не подвергать модуль Lib
, но в состоянии использовать его. Например, я пробовал:
$ ocamlc -a lib.ml -o lib.cma
$ ocamlc -a lib.cma desk.ml -o desk.cma
$ ocamlc desk.cma test.ml -o test.byte
К сожалению, если вы измените test.ml
быть Lib.myfunction()
, одни и те же этапы компиляции работают нормально. Я хочу, чтобы Lib
не подвергался воздействию test.ml
и был открыт только для desk.ml
. Кто-нибудь знает как это сделать? Огромное спасибо!
Круто спасибо большое! – Kites