Erlang - Präprozessoren
Bevor ein Erlang-Modul kompiliert wird, wird es automatisch vom Erlang-Präprozessor verarbeitet. Der Präprozessor erweitert alle Makros, die sich möglicherweise in der Quelldatei befinden, und fügt alle erforderlichen Include-Dateien ein.
Normalerweise müssen Sie sich die Ausgabe des Präprozessors nicht ansehen, aber in Ausnahmefällen (z. B. beim Debuggen eines fehlerhaften Makros) möchten Sie möglicherweise die Ausgabe des Präprozessors speichern. Anzeigen des Ergebnisses der Vorverarbeitung des Modulssome_module.erl Geben Sie den OS-Shell-Befehl ein.
erlc -P some_module.erl
Angenommen, wir hätten die folgende Codedatei:
Beispiel
-module(helloworld).
-export([start/0]).
-include("user.hrl").
start() ->
io:fwrite("~w",[?macro1(1,2)]).
Und wenn wir den folgenden Befehl über die Befehlszeile ausgeführt haben -
erlc –P helloworld.erl
Eine Datei namens helloworld.Pwürde erzeugt werden. Wenn Sie diese Datei öffnen, finden Sie den folgenden Inhalt, den der Präprozessor kompilieren würde.
-file("helloworld.erl", 1). -module(helloworld).
-export([start/0]).
-file("user.hrl", 1).
-file("helloworld.erl", 3).
start() ->
io:fwrite("~w", [{1 + 2}]).