2009-11-03 7 views
7

Mam Emakefile, który wygląda tak:Erlang emakefile wyjaśnić

%% -- 
%% 
%% -- 

{'/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. Jakie jest wyjaśnienie w laika do czego każdy element ma na liście?
  2. Jak uruchomić plik emake, aby móc go skompilować?
  3. Po kompilacji, jak uruchomić wygenerowany plik BEAM?

Odpowiedz

4
  1. Dla Emakefile synax odwiedzić man page
  2. W katalogu, w którym Emakefile jest prowadzony erl -make skompilować za pomocą
  3. Najprostszym sposobem na Emakefile biec będzie po prostu uruchomić powłokę erlang w taki sam katalog jako pliki belek za pomocą polecenia erl. Następnie uruchom kod przy pomocy module_name:function_name(). (łącznie z kropką).
+0

może wiem jak nazwać funkcja startu w tym pliku ERL http://www.copypastecode.com/13830/ ma 2 argumenty: – cometta

12

1/{"source files globbed", Options}

Tu opcje są:

  • debug_info dodać informacje debugowania dla debuggera

  • {outdir, "/Users/user/projects/custom_test/trunk/ebin"} gdzie powinno być wyjście z .beam pisemnej (pliki)

  • {i, "/Users/user/projects/custom_test/trunk/include/."} gdzie znaleźć pliki nagłówkowe .hrl.

2/erl -make

3/erl -pa /Users/user/projects/custom_test/trunk/ebin rozpoczyna powłokę.

Znajdź moduł służący jako punkt wyjścia w aplikacji i wywołać funkcje: module:start().

Można również uruchomić kod niepodlegania interaktywnie:

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

+0

bez potrzeby uruchamiania c (moduł). ? jak znaleźć punkt wejścia dla aplikacji? – cometta

+0

no, erl -make robi to za ciebie. Punkt wejścia: przeczytaj kod, znajdź trafnie nazwaną funkcję, nie mogę ci tu pomóc. – cstar

+0

Mogę wiedzieć, jak wywołać funkcję startową w tym pliku ERL http://www.copypastecode.com/13830/ ma 2 argumenty. – cometta