English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
До компиляции модуля 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}]).