erlang中的预处理类似C中的预处理:
包含:-include(File).
File是一个表示路径的字符串,其中可以含有$VAR表示的环境变量引用,可以是绝对路径,也可以是相对路径,相对路径的话,将从当前工作目录cwd,当前正在编译的文件所在的路径以及include选项指定的系列路径中依次按顺序寻找。
宏:-define(Const, Replacement). -define(Func(Var1,...,VarN), Replacement).
引用宏时使用?Const或?Func(Arg1,...,ArgN)的方式进行引用。
宏还可以使用如下方式进行定义:
erlc -Ddebug xxx.erl
c(xxx, {d, debug}).
宏定义中,把宏变为一个字符串(类似C语言中的#arg):??Arg
条件编译:-ifdef(Macro). -ifndef(Macro). -else. -endif.