Erlang 20参考手册
ERTS
erlc
命令
ERLC
命令摘要
编译器
描述
该erlc程序提供了在Erlang系统中运行所有编译器的常用方法。根据每个输入文件的扩展名,erlc调用相应的编译器。无论使用哪种编译器,都使用相同的标志来提供参数,例如包含路径和输出目录。
"."运行编译器时,当前工作目录,不包含在代码路径中。这样可避免从当前工作目录加载Beam文件,这些文件可能与编译器或编译器使用的Erlang / OTP系统有冲突。
输出
erlc flags file1.ext file2.ext...
编译一个或多个文件。这些文件必须包含扩展名,例如.erlErlang源代码或.yrlYecc源代码。Erlc使用扩展来调用正确的编译器。
一般有用的标志
支持下列标志:
-I <Directory>
命令编译器搜索Directory.遇到-include或-include_lib指令时,编译器将在以下目录中搜索头文件:
-
"."文件服务器的当前工作目录。
- 已编译文件的基本名称。
- 使用选项指定的目录。
-I;首先搜索最后指定的目录。
-o <Directory>
编译器放置输出文件的目录。默认为当前工作目录。
-D<Name>
定义一个宏。
-D<Name>=<Value>
定义具有指定值的宏。值可以是任何Erlang项。根据平台的不同,如果shell本身解释某些字符,则可能需要引用该值。在Unix上,必须引用包含元组和列表的术语。包含空格的术语必须在所有平台上引用。
-W<Error>
将所有警告都变成错误。
-W<Number>
将警告级别设置为Number.默认为1.若要关闭警告,请使用-W0...
-W
同-W1...。默认。
-v
启用详细输出。
-b <Output_type>
指定输出文件的类型。Output_type与输出文件的文件扩展名相同,但没有句号。此选项被具有单一输出格式的编译器忽略。
-smp
使用SMP仿真器进行编译。这对于编译本机代码是非常有用的,它必须使用与要运行的相同的运行时系统进行编译。
-M
生成Makefile规则以跟踪标头依赖关系。规则被发送到stdout。没有生成目标文件。
-MF <Makefile>
作为选项-M,除了写入Makefile Makefile。没有生成目标文件。
-MD
同-M -MF <File>.Pbeam...
-MT <Target>
结合选项-M或-MF,将发出的规则的名称更改为Target...
-MQ <Target>
作为选项-MT,除了特殊的字符make/1被引用。
-MP
结合选项-M或-MF,为每个依赖项添加一个假目标。
-MG
结合选项-M或-MF,将丢失的标头视为生成的文件,并将它们添加到依赖项中。
--
信号表明不会有更多的选择。其余的参数被视为文件名,即使它们以连字符开头。
+<Term>
一个以plus(+)而不是连字符开头的标志被转换成Erlang术语并且不变地传递给编译器。例如,export_allErlang编译器的选项可以如下指定:
erlc +export_all file.erl
根据平台的不同,如果shell本身解释某些字符,则可能需要引用该值。在Unix上,必须引用包含元组和列表的术语。包含空格的术语必须在所有平台上引用。
特殊标志
下列标志在特殊情况下非常有用,例如重建OTP系统:
-pa <Directory>
附加Directory到被调用的Erlang模拟器的代码路径前面。这可以用于调用另一个编译器,而不是默认编译器。
-pz <Directory>
附加Directory被调用的Erlang模拟器中的代码路径。
支持的编译器
支持下列编译器:
.erl
Erlang源代码。它生成一个.beam档案。
选项-P,-E和-S等同于+'P',+'E'和+'S',除了没有必要包含单引号来保护它们不受shell限制。
支持的选项:-I,-o,-D,-v,-W,-b。
.S
Erlang汇编程序源代码。它生成一个.beam档案。
支持的选项:与.erl...
.core
Erlang核心源代码。它生成一个.beam档案。
支持的选项:与.erl...
.yrl
YECC源代码。它生成一个.erl档案。
使用-I带有文件名称的选项将该文件用作自定义序言文件(选项includefile)。
支持的选项:-o,-v,-I,-W。
.mib
用于SNMP的MIB。它生成一个.bin档案。
支持的选项:-I,-o,-W。
.bin
为SNMP编译的MIB。它生成一个.hrl档案。
支持的选项:-o,-v。
.rel
脚本文件。它生成一个引导文件。
使用选项-I命名要搜索应用程序文件的目录(相当于path选项列表中的systools:make_script/2)。
支持的备选方案:-o...
.asn1
ASN1文件。它从文件创建一个.erl,.hrl和文件。还编译使用Erlang编译器,除非指定了选项。.asn1db.asn1.erl+noobj
支持的选项:-I,-o,-b,-W。
.idl
IC文件。它运行IDL编译器。
支持的选项:-I,-o。
环境变量
ERLC_EMULATOR用于启动模拟器的命令。默认erl与erlc程序本身在同一目录中,或者如果它不存在,erl则在环境变量中指定的任何目录中PATH。
另见
erl(1),compile(3),yecc(3),snmp(3)
ERTS相关
Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。
| 主页 | https://www.erlang.org/ |
| 源码 | https://github.com/erlang/otp |
| 版本 | 20 |
| 发布版本 | 20.1 |
加载中,请稍侯......