2009-09-27 4 views

Respuesta

11

ocamlopt es el compilador de código nativo estándar. la sintaxis de construcción típica es:

ocamlopt -o execname module1.ml module2.ml 

Se puede utilizar para compilar ocamlc a bytecode lugar.

Generalmente, la biblioteca estándar ya está incluida. Si estás en un sistema * nix, y desea incluir, por ejemplo, la biblioteca de Unix, que harías algo así como

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

archivos CMXA está bibliotecas de código nativo, archivos CMA son librerías de código de bytes.

Para compilaciones más complicadas, existe el programa ocamlfind que ayuda a localizar libaries. También puedes usar GNU make y herramientas similares. Más información se puede encontrar here. This es una página sobre el uso de gmake.

This es una buena página de "Coder's First Ocaml".
Here es la página de conferencias para la clase Ocaml que tomé en la universidad. Sin embargo, no intentes darle al profesor Gunter consejos, ella era una troll malvada si te sirve la memoria.

+2

He tenido mi parte justa de profesores malvados trol. Punto observado. :-) –

3

Probablemente esté buscando ide. Eche un vistazo al Know of an OCAML IDE?.

http://www.ocaml-tutorial.org/compiling_ocaml_projects explica los conceptos básicos de compilación. En la parte inferior de esa página hay una sección llamada Automated build systems y enlaces a los temas Compiling with GNU make y Compiling with Omake, ambos incluidos ejemplos.

+1

En realidad, prefiero usar emacs. Y para el ejemplo de "hello world", estaba pensando más en un script de compilación de tipo "hello world" que en un "hello world" para OCaml.:-) –

+0

La respuesta con la mayoría de los votos ascendentes para la pregunta # 118935 es "Emacs en modo Caml, o modo Tuareg", eche un vistazo ;-) – VolkerK

+0

He tenido mucha más suerte con omake que con ocamlbuild - es bastante fácil para listar paquetes dependientes en el omakefile; No pude encontrar la manera de hacerlo con ocamlbuild. Hace poco leí en la lista de correo ocaml que ocamlbuild ya no es compatible. – aneccodeal

3

Eche un vistazo a ocaml-make por Markus Mottle. El proyecto incluye OCamlMakefile. Copia esto en su directorio de origen y crear un Makefile, por ejemplo .:

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

Usted probablemente sabe esto, pero por si acaso no lo hace, OCaml incluye un REPL que se puede utilizar para codificar de forma interactiva sin necesidad de compilar. Puede ser bastante útil cuando estás aprendiendo por primera vez.

+0

Puede escribir, #use "" para incluir un archivo cuando se está ejecutando el toplevel. No permita incluir módulos adicionales (compilados) (archivos .cma) en la línea de comandos o, #load "filename.cma" en el toplevel. – nlucaroni

8

También hay ocamlbuild. Por la sencilla proyecto sin dependencias externas es tan simple como

ocamlbuild prog.native 
+0

esta es una manera realmente fácil aunque la documentación apesta. También es útil depurar el programa usando la compilación toplevel, "ocamlbuild prog.top" – nlucaroni

+0

Ayuda. También puedes encontrarlo aquí. https://realworldocaml.org/v1/en/html/a-guided-tour.html – eccstartup

+1

En mi experiencia, esta es, de lejos, la forma más fácil de comenzar a compilar proyectos Ocaml de varios módulos. –

0

También me gustaría añadir otra Makefile para Ocaml, que utilizo para mis proyectos.

El Makefile y el uso de ejemplos están disponibles on the Ocaml website.

1

Un proyecto prometedor es OASIS, un sistema de construcción bastante ingenioso desarrollado por Sylvain Le Gall. Lo usa en muchos de sus proyectos OCaml, yo también.

Cuestiones relacionadas