开始接触erlang,erlang怎么编译成一个独立运行的程序

拉菲一箱 发布于 2013/05/29 15:22
阅读 3K+
收藏 0
我有个程序用c(),编译成beam,但是这个beam必须要在shell里运行?怎么让它单独执行,类似于windows下的exe
加载中
0
平原君
平原君
本身erlang是需要erlang虚拟机的,估计做成关联就可以了,类似与jar直接执行
0
mryufeng
mryufeng
erlang有个reltool的库专门做这个打包工具的,但是配置文件写起来比较麻烦。rebar工具提供了更方便的方式来把帮你发布独立运行的程序。
0
荆棘谷-部落-我要么
荆棘谷-部落-我要么

erlc hello.

erl -noshell -s hello say -s init stop

0
yanchao90
yanchao90

escript可以直接执行erl源码

$ cat factorial
#!/usr/bin/env escript
%% -*- erlang -*-
%%! -smp enable -sname factorial -mnesia debug verbose
main([String]) ->
    try
        N = list_to_integer(String),
        F = fac(N),
        io:format("factorial ~w = ~w\n", [N,F])
    catch
        _:_ ->
            usage()
    end;
main(_) ->
    usage().

usage() ->
    io:format("usage: factorial integer\n"),
    halt(1).

fac(0) -> 1;
fac(N) -> N * fac(N-1).
$ factorial 5
factorial 5 = 120
$ factorial
usage: factorial integer
$ factorial five
usage: factorial integer

返回顶部
顶部