2009-09-27 9 views

Odpowiedz

11

ocamlopt jest standardowym kompilatorem kodu natywnego. Typowa składnia build to:

ocamlopt -o execname module1.ml module2.ml 

Można użyć ocamlc skompilować do kodu bajtowego zamiast.

Ogólnie standardowa biblioteka jest już dołączona. Jeśli jesteś na systemie * nix, i chcą to, powiedzmy, bibliotekę Unix, chcesz zrobić coś takiego

ocamlopt -o execname unix.cmxa module1.ml module2.ml 

plików CMXA rodzimych bibliotekami kodu, pliki CMA są bibliotekami kodu bajtowego.

Dla bardziej skomplikowanych kompilacji, istnieje program ocamlfind, który pomaga zlokalizować biblioteki. Możesz także użyć narzędzia GNU i podobnych narzędzi. Więcej informacji można znaleźć here. This to strona o użyciu gmake.

This jest ok "pierwszą stroną kodera Ocaml".
Here to strona wykładów dla klasy Ocaml, którą zabrałem na studia. Nie próbuj jednak uderzać w profesora Guntera o jakiekolwiek wskazówki, chociaż była złym trollem, jeśli służy pamięci.

+2

Miałem mój sprawiedliwy udział w profesorach złych trolli. Punkt odnotowany. :-) –

3

Prawdopodobnie szukasz numeru ide. Spójrz na Know of an OCAML IDE?.

wyjaśnia podstawy kompilacji. Na dole tej strony znajduje się sekcja o nazwie Automated build systems i linki do tematów: Compiling with GNU make i Compiling with Omake obie zawierające próbki.

+1

Właściwie wolę używać emacs. I na przykład "Witaj świecie", myślałem raczej o skrypcie typu "cześć świat", a nie o "świecie cześć" dla OCaml.:-) –

+0

Odpowiedź z najbardziej upvotes na pytanie # 118935 jest "Emacs w trybie Caml, lub trybie Tuareg", spójrz ;-) – VolkerK

+0

Miałem dużo więcej szczęścia z Omake niż z ocamlbuild - to całkiem proste wyświetlić listę pakietów zależnych w pliku omake; Nie mogłem wymyślić, jak to zrobić z ocamlbuild. Ostatnio czytałem na liście mailingowej ocaml, że program ocamlbuild nie jest już obsługiwany. – aneccodeal

3

Spójrz na ocaml-make autorstwa Markusa Mottle. Projekt obejmuje OCamlMakefile. Skopiuj to do swojego katalogu źródłowego i stworzyć Makefile, np .:

SOURCES = hello.ml 
RESULT = hello 
-include OCamlMakefile 
2

Prawdopodobnie wiedzą o tym, ale tylko w przypadku, gdy nie, OCaml obejmują rEPL, którego można użyć do kodu interaktywnie bez konieczności kompilacji. Może być bardzo przydatny, gdy uczysz się po raz pierwszy.

+0

Możesz wpisać, #use "", aby dołączyć plik, gdy działa ten poziom. Nie dołączaj do modułów dodatkowych (skompilowanych) (pliki .cma) ani do #load "filename.cma". – nlucaroni

8

Istnieje również ocamlbuild. Z tego prostego projektu bez zależności zewnętrzne jest to tak proste, jak

ocamlbuild prog.native 
+0

to jest naprawdę łatwy sposób, chociaż dokumentacja jest do bani. Pomocne może być również debugowanie programu przy użyciu kompilacji toplevel, "ocamlbuild prog.top" – nlucaroni

+0

Pomaga. Możesz go również znaleźć tutaj. https://realworldocaml.org/v1/en/html/a-guided-tour.html – eccstartup

+1

Z mojego doświadczenia wynika, że ​​jest to zdecydowanie najłatwiejszy sposób na rozpoczęcie kompilacji wielomodułowych projektów Ocaml. –

0

Chciałbym również dodać kolejny Makefile dla SML, który używam dla moich projektów.

Dostępne są przykłady użycia Makefile .

1

Przychodzący projekt to OASIS, całkiem sprytny system konstrukcyjny opracowany przez Sylvaina Le Gall'a. Używa go w wielu swoich projektach OCaml, więc ja.

Powiązane problemy