2009-11-03 5 views
7

J'ai un Emakefile qui ressemble à:Erlang emakefile expliquer

%% -- 
%% 
%% -- 

{'/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'est-ce qu'une explication en termes simples pour ce que chaque élément fait dans la liste?
  2. Comment puis-je exécuter le fichier emakefile afin que je puisse le compiler?
  3. Après la compilation, comment puis-je exécuter ce fichier généré BEAM?

Répondre

4
  1. Pour la Emakefile SYNAX visiter le man page
  2. Dans le répertoire où le Emakefile est exécuté erl -make pour compiler en utilisant la voie Emakefile
  3. Simplest à courir serait de commencer simplement un shell Erlang dans le même répertoire que les fichiers faisceau avec la commande erl. Ensuite, exécutez le code avec module_name:function_name(). (y compris le point).
+0

peut-je savoir comment appeler la démarrer la fonction dans ce fichier erl http://www.copypastecode.com/13830/ il a 2 arguments – cometta

12

1/{"source files globbed", Options}

Voici les options sont:

  • debug_info ajouter des informations de débogage pour le débogueur

  • {outdir, "/Users/user/projects/custom_test/trunk/ebin"} où doit la sortie écrire (les fichiers .beam)

  • {i, "/Users/user/projects/custom_test/trunk/include/."} où trouver les fichiers d'en-tête .hrl.

2/erl -make

3/erl -pa /Users/user/projects/custom_test/trunk/ebin commence une coquille.

Trouver le module servant de point d'entrée dans votre application et appeler les fonctions: module:start().

Vous pouvez également exécuter le code non interactive:

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

+0

pas besoin d'exécuter c (module). ? comment trouver le point d'entrée pour l'application? – cometta

+0

non, erl -make fait ça pour vous. Le point d'entrée: lire le code, trouver une fonction bien nommée, je ne peux pas vous aider ici. – cstar

+0

puis-je savoir comment appeler la fonction de démarrage dans ce fichier erl http://www.copypastecode.com/13830/ il a 2 arguments – cometta