2009-11-03 36 views
7

Tôi có một Emakefile trông giống như:Erlang emakefile giải thích

%% -- 
%% 
%% -- 

{'/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. một lời giải thích trong điều khoản của layman cho những gì từng hạng mục không có trong danh sách là gì?
  2. Làm cách nào để chạy tệp emakefile để tôi có thể biên dịch nó?
  3. Sau khi biên soạn, làm cách nào để chạy tệp được tạo ra BEAM?

Trả lời

4
  1. Đối với Emakefile synax thăm man page
  2. Trong thư mục chứa Emakefile đang chạy erl -make để biên dịch bằng cách sử dụng Emakefile
  3. Cách đơn giản nhất để chạy sẽ chỉ đơn giản là bắt đầu một vỏ erlang trong cùng thư mục dưới dạng tệp dầm với lệnh erl. Sau đó chạy mã với module_name:function_name(). (bao gồm cả dấu chấm).
+0

tôi có thể biết làm thế nào để gọi bắt đầu chức năng trong tập tin này http://wwwlopypastecode.com/13830/ nó có 2 đối số – cometta

12

1/{"source files globbed", Options}

Đây là tùy chọn là:

  • debug_info thêm thông tin gỡ lỗi cho debugger

  • {outdir, "/Users/user/projects/custom_test/trunk/ebin"} nơi đầu ra nên được bằng văn bản (các tập tin .beam)

  • {i, "/Users/user/projects/custom_test/trunk/include/."} nơi để tìm các tệp tiêu đề .hrl.

2/erl -make

3/erl -pa /Users/user/projects/custom_test/trunk/ebin bắt đầu một vỏ.

Tìm các module phục vụ như là một điểm vào trong ứng dụng của bạn và gọi các chức năng: module:start().

Bạn cũng có thể chạy không đang tương tác:

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

+0

không cần phải chạy c (module). ? làm thế nào để tìm ra điểm vào cho ứng dụng? – cometta

+0

không, erl-make thực hiện điều đó cho bạn. Điểm vào: đọc mã, tìm chức năng được đặt tên khéo léo, tôi không thể giúp bạn ở đây. – cstar

+0

tôi có thể biết cách gọi hàm khởi động trong tệp này http://www.copypastecode.com/13830/ nó có 2 đối số – cometta