2010-03-30 30 views
19

Tôi hiện đang sử dụngXây dựng nhiều tệp Erlang Beam?

c(module_name) 

để xây dựng các tệp Erlang từng cái một. Làm thế nào có thể quá trình xây dựng cho Erlang được xử lý khi họ có nhiều tập tin?

Trả lời

24

Tôi bắt đầu bằng cách sử dụng Erlang make, vì nó khởi động VM một lần và biên dịch mọi thứ cần được biên dịch lại.

Hãy thử như sau trong thư mục nguồn của bạn, nó sẽ biên dịch các tập tin .erl rằng đang thiếu một tập tin tương ứng chùm hoặc những nơi tập .erl đã được sửa đổi từ file chùm đã được biên soạn:

erl -make 

Tìm hiểu về Emakefile cho thủ thuật bổ sung, chẳng hạn như soạn thảo tất cả các file nguồn với debug_info và đặt các tập tin .beam trong ebin:

{'*', 
    [{outdir,"../ebin"}, 
    debug_info]}. 
5

rất nhiều các dự án sử dụng thường xuyên cũ làm cho tập tin và erlc

erlc -h 
Usage: erlc [options] file.ext ... 
Options: 
-b type  type of output file (e.g. jam or beam) 
-d    turn on debugging of erlc itself 
-Dname   define name 
-Dname=value define name to have value 
-hybrid  compile using hybrid-heap emulator 
-help   shows this help text 
-I path  where to search for include files 
-o name  name output directory or file 
-pa path  add path to the front of Erlang's code path 
-pz path  add path to the end of Erlang's code path 
-smp   compile using SMP emulator 
-v    verbose compiler output 
-Werror  make all warnings into errors 
-W0   disable warnings 
-Wnumber  set warning level to number 
-Wall   enable all warnings 
-W    enable warnings (default; same as -W1) 
-E    generate listing of expanded code (Erlang compiler) 
-S    generate assembly listing (Erlang compiler) 
-P    generate listing of preprocessed code (Erlang compiler) 
+term   pass the Erlang term unchanged to the compiler 
11

này biên dịch tất cả mọi thứ trong thư mục bạn đang truy:

cover:compile_directory(). 
2

Bạn có thể sử dụng 'cốt thép', một Erlang công cụ từ Basho đó là OTP phù hợp xây dựng: đây thiết lập nhiều ứng dụng erlang thành một cấu trúc thư mục nhất quán và cho phép bạn làm nhiều hơn là chỉ biên dịch các tệp thành .beams. [Cốt thép biên dịch]

Ví dụ, bạn có thể
kiểm tra * chạy (eUnit + Tính năng/hồi quy) [cốt thép thử nghiệm]

- build releases [rebar rel] 
- start ci-builds 
- specify dependencies from multiple sources in its config file 
- enable SNMPwalks through data collected by SNMP agents of various types 
- (in conjunction with xref and grapherl) generate call graphs of entire applications 
- (in conjunction with fprof and fprof_graph) generate profiling diagrams 
- run dialyzer to do static code analysis 

Để xem tất cả các lệnh cốt thép, 'cốt thép -c' will cung cấp cho bạn một bức tranh hoàn chỉnh.

cốt thép là từ Basho với các biến thể nổi xung quanh, :-)

Bạn có thể nhận được cốt thép here

Các wiki nói lên tất cả.

Các vấn đề liên quan