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