Подтвердить что ты не робот

Создание нескольких файлов Erlang Beam?

В настоящее время я использую

c(module_name)

для сборки файлов Erlang один за другим. Как процесс сборки Erlang может обрабатываться, когда у них есть несколько файлов?

4b9b3361

Ответ 1

Я начинаю использовать Erlang make, потому что он запускает виртуальную машину один раз и компилирует все, что нужно перекомпилировать.

Попробуйте выполнить следующее в исходной папке, оно скомпилирует эти .erl файлы, в которых отсутствует соответствующий файл Beam или те, где был изменен файл .erl с момента компиляции файла Beam:

erl -make

Узнайте о Emakefile для дополнительных трюков, таких как компиляция всех исходных файлов с помощью debug_info и размещение файлов .beam в ebin:

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

Ответ 2

Это компилирует все в каталоге, в котором вы сейчас находитесь:

cover:compile_directory().

Ответ 3

много проектов используют обычный старый файл make и 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 code path
-pz path       add path to the end of Erlang 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

Ответ 4

Вы можете использовать "арматуру", инструмент сборки Erlang из Basho, совместимый с OTP: это устанавливает несколько приложений erlang в согласованную структуру каталогов и позволяет вам делать больше, чем просто компилировать файлы в .beams. [сборка арматуры]

Например, вы можете    * запустить тесты (eUnit + функция/регрессия) [арматурный тест]

 - 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 

Чтобы увидеть все команды арматуры, "арматура -c" предоставит вам полную картину.

арматура из Башо с плавающими вариантами: -)

Вы можете получить арматуру здесь

wiki говорит все.

Ответ 5

Erlang Make и Emakefiles, вероятно, хороший способ начать.

В качестве примера вы можете захотеть взглянуть на систему сборки Erlang Web.

В конкретном случае вы можете посмотреть их Emakefile и их compile.erl.