2009-11-03 10 views
7

Tengo una Emakefile que se parece a:Erlang emakefile explicar

%% -- 
%% 
%% -- 

{'/Users/user/projects/custom_test/trunk/*', 
[debug_info, 
    {outdir, "/Users/user/projects/custom_test/trunk/ebin"}, 
    {i, "/Users/user/projects/custom_test/trunk/include/."} 
] 
}. 
  1. ¿Qué es una explicación en términos sencillos para lo que hace cada elemento en la lista?
  2. ¿Cómo ejecuto el emakefile para que pueda compilarlo?
  3. Después de la compilación, ¿cómo ejecuto ese archivo generado BEAM?

Respuesta

4
  1. Para el Emakefile SYNAX visitar el man page
  2. En el directorio en el Emakefile se ejecuta erl -make para compilar utilizando el Emakefile
  3. forma más sencilla de ejecutar sería comenzar simplemente una cáscara Erlang en el mismo directorio como el haz de archivos con el comando erl. A continuación, ejecute el código con module_name:function_name(). (incluido el punto).
+0

se puede saber cómo llamar al iniciar la función en este archivo erl http://www.copypastecode.com/13830/ tiene 2 argumentos – cometta

12

1/{"source files globbed", Options}

Aquí las opciones son:

  • debug_info añadir información de depuración para el depurador

  • {outdir, "/Users/user/projects/custom_test/trunk/ebin"} donde se debe escribir la salida (los archivos .beam)

  • {i, "/Users/user/projects/custom_test/trunk/include/."} dónde encontrar los archivos de encabezado .hrl.

2/erl -make

3/erl -pa /Users/user/projects/custom_test/trunk/ebin comienza una concha.

encontrar el módulo que sirve como punto de entrada en la aplicación y llamar a las funciones: module:start().

También puede ejecutar el código no interactiva:

erl -noinput -noshell -pa /Users/user/projects/custom_test/trunk/ebin -s module start

+0

sin necesidad de ejecutar c (módulo). ? cómo averiguar el punto de entrada para la aplicación? – cometta

+0

no, erl-hazlo por ti. El punto de entrada: lee el código, encuentra una función con un nombre adecuado, no puedo ayudarte aquí. – cstar

+0

puedo saber cómo llamar a la función de inicio en este archivo erl http://www.copypastecode.com/13830/ tiene 2 argumentos – cometta