手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

erlc (1)

名称

erlc - Compiler

用法概要

Please see following description for synopsis

描述




User Commands                                             erlc(1)



NAME
     erlc - Compiler

DESCRIPTION
     The  erlc program provides a common way to run all compilers
     in the Erlang system. Depending on  the  extension  of  each
     input  file,  erlc  will  invoke  the  appropriate compiler.
     Regardless of which compiler is used,  the  same  flags  are
     used  to provide parameters such as include paths and output
     directory.

     The current working directory, ".", will not be included  in
     the  code  path  when running the compiler (to avoid loading
     Beam files from the current  working  directory  that  could
     potentially  be  in conflict with the compiler or Erlang/OTP
     system used by the compiler).

EXPORTS
     erlc flags file1.ext file2.ext...

          Erlc compiles one or more files. The files must include
          the extension, for example .erl for Erlang source code,
          or .yrl for Yecc source code. Erlc uses  the  extension
          to invoke the correct compiler.

GENERALLY USEFUL FLAGS
     The following flags are supported:

       -I directory:
         Instructs  the  compiler  to search for include files in
         the specified directory. When encountering  an  -include
         or  -include_lib  directive,  the  compiler searches for
         header files in the following directories:

         * ".", the current working directory of the file server;

         * the base name of the compiled file;

         * the  directories  specified  using  the -I option. The
           directory specified last is searched first.

       -o directory:
         The directory where the compiler should place the output
         files.  If not specified, output files will be placed in
         the current working directory.

       -Dname:
         Defines a macro.

       -Dname=value:
         Defines a macro with the given value. The value  can  be
         any  Erlang  term.  Depending on the platform, the value



Ericsson AB         Last change: erts 5.9.3.1                   1






User Commands                                             erlc(1)



         may need to be quoted if  the  shell  itself  interprets
         certain  characters. On Unix, terms which contain tuples
         and list must be quoted. Terms which contain spaces must
         be quoted on all platforms.

       -Werror:
         Makes all warnings into errors.

       -Wnumber:
         Sets  warning  level to number. Default is 1. Use -W0 to
         turn off warnings.

       -W:
         Same as -W1. Default.

       -v:
         Enables verbose output.

       -b output-type:
         Specifies the type of output  file.  Generally,  output-
         type  is  the  same  as the file extension of the output
         file but without the period. This option will be ignored
         by compilers that have a a single output format.

       -smp:
         Compile  using  the  SMP emulator. This is mainly useful
         for compiling native code, which needs  to  be  compiled
         with  the same run-time system that it should be run on.

       -M:
         Produces a Makefile rule to track headers  dependencies.
         The  rule is sent to stdout. No object file is produced.

       -MF Makefile:
         Like the -M option above, except that  the  Makefile  is
         written to Makefile. No object file is produced.

       -MD:
         Same as -M -MF <File>.Pbeam.

       -MT Target:
         In  conjunction  with  -M or -MF, change the name of the
         rule emitted to Target.

       -MQ Target:
         Like the -MT option above, except that  characters  spe-
         cial to make(1) are quoted.

       -MP:
         In  conjunction  with  -M or -MF, add a phony target for
         each dependency.




Ericsson AB         Last change: erts 5.9.3.1                   2






User Commands                                             erlc(1)



       -MG:
         In conjunction with -M or -MF, consider missing  headers
         as generated files and add them to the dependencies.

       --:
         Signals  that  no  more options will follow. The rest of
         the arguments will be treated as  file  names,  even  if
         they start with hyphens.

       +term:
         A  flag  starting with a plus ('+') rather than a hyphen
         will be converted to an Erlang term and passed unchanged
         to the compiler. For instance, the export_all option for
         the Erlang compiler can be specified as follows:

       erlc +export_all file.erl

         Depending on the platform, the  value  may  need  to  be
         quoted  if  the  shell itself interprets certain charac-
         ters. On Unix, terms which contain tuples and list  must
         be  quoted. Terms which contain spaces must be quoted on
         all platforms.

SPECIAL FLAGS
     The flags in this section are useful in  special  situations
     such as re-building the OTP system.

       -pa directory:
         Appends  directory  to the front of the code path in the
         invoked Erlang emulator. This  can  be  used  to  invoke
         another compiler than the default one.

       -pz directory:
         Appends directory to the code path in the invoked Erlang
         emulator.

SUPPORTED COMPILERS
       .erl:
         Erlang source code. It generates a .beam file.

         The options -P, -E, and -S are equivalent to +'P', +'E',
         and +'S', except that it is not necessary to include the
         single quotes to protect them from the shell.

         Supported options: -I, -o, -D, -v, -W, -b.

       .yrl:
         Yecc source code. It generates an .erl file.

         Use the -I option with the name of a file  to  use  that
         file  as  a  customized  prologue  file (the includefile
         option).



Ericsson AB         Last change: erts 5.9.3.1                   3






User Commands                                             erlc(1)



         Supported options: -o, -v, -I, -W (see above).

       .mib:
         MIB for SNMP. It generates a .bin file.

         Supported options: -I, -o, -W.

       .bin:
         A compiled MIB for SNMP. It generates a .hrl file.

         Supported options: -o, -v.

       .rel:
         Script file. It generates a boot file.

         Use the -I to name directories to be searched for appli-
         cation  files (equivalent to the path in the option list
         for systools:make_script/2).

         Supported options: -o.

       .asn1:
         ASN1 file.

         Creates an .erl, .hrl, and .asn1db file  from  an  .asn1
         file.  Also  compiles the .erl using the Erlang compiler
         unless the +noobj options is given.

         Supported options: -I, -o, -b, -W.

       .idl:
         IC file.

         Runs the IDL compiler.

         Supported options: -I, -o.

ENVIRONMENT VARIABLES
       ERLC_EMULATOR:
         The command for starting the emulator. Default is erl in
         the  same directory as the erlc program itself, or if it
         doesn't exist, erl in any of the  directories  given  in
         the PATH environment variable.


ATTRIBUTES
     See   attributes(5)   for   descriptions  of  the  following
     attributes:







Ericsson AB         Last change: erts 5.9.3.1                   4






User Commands                                             erlc(1)



     +---------------+------------------+
     |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
     +---------------+------------------+
     |Availability   | runtime/erlang   |
     +---------------+------------------+
     |Stability      | Uncommitted      |
     +---------------+------------------+
SEE ALSO
     erl(1), compile(3), yecc(3), snmp(3)


NOTES
     This  software  was   built   from   source   available   at
     https://java.net/projects/solaris-userland.    The  original
     community       source       was       downloaded       from
     http://www.erlang.org/download/otp_src_R15B03-1.tar.gz

     Further  information about this software can be found on the
     open source community website at http://www.erlang.org/.




































Ericsson AB         Last change: erts 5.9.3.1                   5