이 글에서는 C 또는 C++ 프로그램의 소스 코드에서 전처리기(preprocessor)가 처리한 결과 코드, 즉 전처리된 코드를 생성하는 방법을 알아보겠습니다.
g++ 컴파일러로 전처리된 코드를 확인하려면 '-E' 옵션을 함께 사용하면 됩니다. 이 옵션은 컴파일 과정 중 전처리 단계까지만 수행하고 그 결과를 화면에 출력합니다.
전처리기는 코드에 포함된 모든 # 디렉티브(#include, #define 등)를 처리하며, 정의된 매크로(MACRO)도 실제 값으로 확장합니다.
문법
g++ -E program.cpp
예제
#define PI 3.1415
int main() {
float a = PI, r = 5;
float c = a * r * r;
return 0;
}
출력 결과
$ g++ -E test_prog.cpp
int main() {
float a = 3.1415, r = 5;
float c = a * r * r;
return 0;
}
위 출력 결과에서 확인할 수 있듯이, 매크로 PI가 실제 값인 3.1415로 치환된 것을 볼 수 있습니다. 참고로 '-E' 옵션의 실행 결과는 기본적으로 표준 출력(stdout)으로 출력되므로, 파일로 저장하고 싶다면 리다이렉션(>)을 활용하면 됩니다.