English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Erlang モジュールをコンパイルする前に、Erlang プリプロセッサが自動的にそのモジュールを処理します。プリプロセッサはソースファイルに存在する可能性のあるマクロを拡張し、必要なインクルードファイルを挿入します。
通常、プリプロセッサの出力を確認する必要はありませんが、特別な場合(例えば、エラーのあるマクロのデバッグ時など)には、プリプロセッサの出力を保存したいかもしれません。some_moduleモジュールのプリプロセス結果を確認します。erlはオペレーティングシステムのシェルコマンドを出力します。
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}]).