다음을 통해 공유


/E(stdout으로 전처리)

C 및 C++ 원본 파일을 전처리하고 전처리된 파일을 표준 출력 디바이스에 복사합니다.

구문

/E

설명

이 프로세스에서는 모든 전처리기 지시문이 수행되고 매크로 확장이 수행되며 주석이 제거됩니다. 전처리된 출력에서 주석을 유지하려면 /C(전처리 중 주석 유지) 컴파일러 옵션도 사용합니다.

/E 는 조건부 컴파일을 위해 전처리기 지시문에 의해 제거된 각 포함된 파일의 시작과 끝과 줄 주위에 지시문을 출력에 추가 #line 합니다. 이러한 지시문은 전처리된 파일의 줄을 다시 매깁니다. 따라서 이후 처리 단계에서 발생하는 오류는 전처리된 파일의 줄이 아닌 원래 원본 파일의 줄 번호를 참조합니다.

/E 옵션은 컴파일을 표시하지 않습니다. 컴파일을 위해 전처리된 파일을 다시 제출해야 합니다. /E는 /FA, /Fa/Fm 옵션의 출력 파일도 표시하지 않습니다. 자세한 내용은 /FA, /Fa(목록 파일)/Fm(이름 맵파일)을 참조하세요.

지시문을 표시하지 않는 #line 대신 /EP(#line 지시문 없이 stdout에 전처리) 옵션을 사용합니다.

전처리된 출력을 대신 파일에 보내려면 /P(파일에 stdout전처리) 옵션을 대신 사용합니다.

지시문을 표시하지 않으며 #line 전처리된 출력을 파일로 보내려면 /P/EP를 함께 사용합니다.

미리 컴파일된 헤더는 /E 옵션과 함께 사용할 수 없습니다.

별도의 파일로 전처리할 때는 토큰 뒤에 공백이 내보내지지 않습니다. 이로 인해 잘못된 프로그램이 발생하거나 의도하지 않은 부작용이 발생할 수 있습니다. 다음 프로그램이 성공적으로 컴파일됩니다.

#define m(x) x
m(int)main( )
{
   return 0;
}

그러나 다음을 사용하여 컴파일하는 경우:

cl -E test.cpp > test2.cpp

int main test2.cpp 잘못되었습니다 intmain.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.

  3. 추가 옵션 상자에 컴파일러 옵션을 입력합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

예시

다음 명령줄은 전처리 ADD.C하고, 주석을 보존하고, 지시문을 추가하고 #line , 표준 출력 디바이스에 결과를 표시합니다.

CL /E /C ADD.C

참고 항목

MSVC 컴파일러 옵션
MSVC 컴파일러 명령줄 구문