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

Пр предобработчик Erlang

До компиляции модуля Erlang предобработчик автоматически обрабатывает этот модуль. Предобработчик расширяет любые макросы, существующие в исходном файле, и вставляет любые необходимые файлы включения.

Обычно, вам не нужно проверять вывод предобработчика, но в的特殊情况下 (например, отладка макроса с ошибкой), вы можете надеяться на сохранение вывода предобработчика. Проверьте результат предобработки модуля some_module. Erlang предоставляет команду командной строки операционной системы.

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