OCaml - 将多个文件编译成一个可执行文件
OCaml - Compiling multiple files into one executable
我用 OCaml 编写了一个数独求解器,我想为其创建一个可执行文件。
我有 3 个文件:board.ml、solver.ml 和 main.ml
board.ml 包含板的类型、从文件读取的功能、检查有效性、...
solver.ml 包含解决给定数独的函数。 solver.ml 使用 board.ml
中的函数
main.ml 是一个程序,它使用 board.ml 和 solver.ml 中的函数来解决由命令行参数提供的数独问题。
我不使用 .mli 文件,因为签名是在 .ml 文件中定义的,例如:
module Board :
sig
(* signature *)
end
=
struct
(* implementations *)
end
我已经能够使用 board.ml 中的所有代码执行此操作,例如:
ocamlc board.mli board.ml main.ml -o sudoku_solver
最终结果应该是一个名为 "sudoku_solver" 的可执行文件,所以我可以这样做:
./sudoku_solver "sudoku.txt"
只需使用:
ocamlbuild main.native
和运行它与
./main.native "sudoku.txt"
我用 OCaml 编写了一个数独求解器,我想为其创建一个可执行文件。
我有 3 个文件:board.ml、solver.ml 和 main.ml
board.ml 包含板的类型、从文件读取的功能、检查有效性、...
solver.ml 包含解决给定数独的函数。 solver.ml 使用 board.ml
中的函数main.ml 是一个程序,它使用 board.ml 和 solver.ml 中的函数来解决由命令行参数提供的数独问题。
我不使用 .mli 文件,因为签名是在 .ml 文件中定义的,例如:
module Board :
sig
(* signature *)
end
=
struct
(* implementations *)
end
我已经能够使用 board.ml 中的所有代码执行此操作,例如:
ocamlc board.mli board.ml main.ml -o sudoku_solver
最终结果应该是一个名为 "sudoku_solver" 的可执行文件,所以我可以这样做:
./sudoku_solver "sudoku.txt"
只需使用:
ocamlbuild main.native
和运行它与
./main.native "sudoku.txt"