English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Preprocessador do Erlang

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-

Exemplos Online

-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}]).