Erlang-preprocessors

提供:Dev Guides
移動先:案内検索

Erlang-プリプロセッサ

Erlangモジュールがコンパイルされる前に、Erlangプリプロセッサによって自動的に処理されます。 プリプロセッサは、ソースファイルにある可能性のあるマクロを展開し、必要なインクルードファイルを挿入します。

通常、プリプロセッサの出力を確認する必要はありませんが、例外的な状況(たとえば、障害のあるマクロのデバッグ時)では、プリプロセッサの出力を保存することをお勧めします。 モジュール some_module.erl の前処理の結果を確認するには、OSシェルコマンドを使用します。

erlc -P some_module.erl

たとえば、次のコードファイルがあったと仮定します-

-module(helloworld).
-export([start/0]).
-include("user.hrl").

start() ->
   io:fwrite("~w",[?macro1(1,2)]).

そして、コマンドラインから次のコマンドを実行した場合-

erlc –P helloworld.erl
*helloworld.P* というファイルが生成されます。 このファイルを開くと、プリプロセッサがコンパイルする次の内容が見つかります。
-file("helloworld.erl", 1). -module(helloworld).

-export([start/0]).
-file("user.hrl", 1).
-file("helloworld.erl", 3).

start() ->
   io:fwrite("~w", [{1 + 2}]).