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

Erlang 프리프로세서

Erlang 모듈을 컴파일하기 전에, Erlang 프리프로세서가 자동으로 해당 모듈을 처리합니다. 프리프로세서는 소스 파일에 존재할 수 있는 모든 매크로를 확장하고 필요한 포함 파일을 삽입합니다.

일반적으로 프리프로세서의 출력을 확인할 필요는 없습니다. 하지만 특정 상황(예를 들어, 잘못된 매크로를 디버깅할 때)에서는 프리프로세서의 출력을 저장하고 싶을 수 있습니다. 모듈 some_module에 대한 프리프로세스 결과를 확인하세요. erl이 시스템 셸 명령어를 출력합니다.

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