私はOCamlをいじっています。私が最初に知りたいのは、OCamlプロジェクトをビルドすることです。今、私はただ学んでいるので、ばかげて単純なものが欲しいだけです。誰かが私にビルドシステムと、そのビルドシステムを使用するための「helloworld」タイプの例を教えてもらえますか?
7 に答える
ocamloptは、標準のネイティブコードコンパイラです。一般的なビルド構文は次のとおりです。
ocamlopt -o execname module1.ml module2.ml
ocamlc
代わりに、バイトコードにコンパイルするために使用できます。
通常、標準ライブラリはすでに含まれています。* nixシステムを使用していて、たとえばunixライブラリを含めたい場合は、次のようにします。
ocamlopt -o execname unix.cmxa module1.ml module2.ml
cmxaファイルはネイティブコードライブラリであり、cmaファイルはバイトコードライブラリです。
より複雑なビルドの場合は、ライブラリを見つけるのに役立つocamlfindプログラムがあります。GNUmakeや同様のツールを使用することもできます。詳細については、こちらをご覧ください。 これはgmakeの使用に関するページです。
これは大丈夫な「Coder'sFirstOcaml」ページです。
これが私が大学で取り戻したOcamlクラスの講義ページです。ガンター教授にヒントを求めてはいけませんが、記憶があれば彼女は邪悪なトロールでした。
ocamlbuildもあります。外部依存関係のない単純なプロジェクトの場合、それは次のように単純です。
ocamlbuild prog.native
MarkusMottleをocaml-make
ご覧ください。プロジェクトにはが含まれOCamlMakefile
ます。これをソースディレクトリにコピーしてMakefile
、例を作成します。
SOURCES = hello.ml
RESULT = hello
-include OCamlMakefile
あなたはおそらくideを探しています。OCAMLIDEについて知っていますか?。
http://www.ocaml-tutorial.org/compiling_ocaml_projectsは、コンパイルの基本を説明しています。そのページの下部にはAutomated build systems
、トピックへのリンクと呼ばれるセクションがありCompiling with GNU make
、Compiling with Omake
両方にサンプルが含まれています。
あなたはおそらくこれを知っていますが、あなたが知らない場合に備えて、OCamlにはコンパイルせずにインタラクティブにコーディングするために使用できるREPLが含まれています。あなたが最初に学んでいるとき、それは非常に役に立ちます。
注目のプロジェクトはOASISです。これは、SylvainLeGallによって開発されているかなり気の利いたビルドシステムです。彼はそれを彼のOCamlプロジェクトの束で使用しているので、私もそうします。
Makefile
また、プロジェクトで使用するOcaml用にもう1つ追加します。
と使用Makefile
例は、OcamlのWebサイトで入手できます。