在编译Erlang模块之前,它会由Erlang预处理程序自动处理,预处理器会扩展源文件中可能存在的所有宏,并插入任何必要的包含文件。
通常,您不需要查看预处理器的输出,但是在特殊情况下(如,调试错误的宏时),您可能希望保存预处理器的输出,要查看模块 some_module.erl 的预处理输出,请提供OS Shell命令。
erlc -P some_module.erl
如,假设我们有以下代码文件-
-module(helloLearnfk). -export([start/0]). -include("user.hrl"). start() -> io:fwrite("~w",[?macro1(1,2)]).
如果我们从命令行执行以下命令,
erlc –P helloLearnfk.erl
将会生成一个名为 helloLearnfk.P 的文件,如果打开此文件,则会发现以下内容,这些内容是预处理器将编译的内容。
-file("helloLearnfk.erl", 1). -module(helloLearnfk). -export([start/0]). -file("user.hrl", 1). -file("helloLearnfk.erl", 3). start() -> io:fwrite("~w", [{1 + 2}]).
参考链接
https://www.learnfk.com/erlang/erlang-preprocessors.html
标签:无涯,module,start,处理器,erl,Erlang,预处理,helloLearnfk From: https://blog.51cto.com/u_14033984/8668567