English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Antes de compilar o módulo Erlang, o pré-processador do Erlang tratará automaticamente o módulo. O pré-processador expande qualquer macro existente no arquivo de origem e insere qualquer arquivo incluído necessário.
Normalmente, você não precisa visualizar a saída do preprocessador, mas em situações especiais (por exemplo, depurando um macro errado), você pode desejar salvar a saída do preprocessador. Veja o resultado da pré-processamento do módulo some_module. O erl fornece o comando de shell do sistema operacional.
erlc -P some_module.erl
Por exemplo, suponha que tenhamos o seguinte arquivo de código-
-module(helloworld). -export([start/0]). -include("user.hrl"). start() -> io:fwrite("~w",[?macro1(1,2)]).
Se executarmos o seguinte comando na linha de comando-
erlc –P helloworld.erl
Será gerado um arquivo chamado helloworld.P. Se você abrir este arquivo, você encontrará o seguinte conteúdo, que é o que o preprocessador compilará.
-file("helloworld.erl", 1). -module(helloworld). -export([start/0]). -file("user.hrl", 1). -file("helloworld.erl", 3). start() -> io:fwrite("~w", [{1 + 2}]).