편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
6번째 줄: | 6번째 줄: | ||
* 줄 끝에 ";"를 사용하지 않음 | * 줄 끝에 ";"를 사용하지 않음 | ||
* "x.c" 파일이 전처리 명령 처리를 하게 되면 "x.i"가 됨 | * "x.c" 파일이 전처리 명령 처리를 하게 되면 "x.i"가 됨 | ||
==예시== | ==예시== | ||
;include 전처리 | ;include 전처리 | ||
< | <source lang='C'> | ||
#include <stdio.h> | #include <stdio.h> | ||
</ | </source> | ||
컴파일 이전에 #include <stdio.h> 명령이 먼저 처리가 됨. 즉, 컴파일 되기 전에 "stdio.h" 헤더 파일이 코드 형태로 추가되게 됨. 예를들면 a.c 파일이 있다면 전처리 후 a.i 파일로 변환됨. 자세한 내용은 [[C언어 컴파일 빌드 과정]] 참조 | 컴파일 이전에 #include <stdio.h> 명령이 먼저 처리가 됨. 즉, 컴파일 되기 전에 "stdio.h" 헤더 파일이 코드 형태로 추가되게 됨. 예를들면 a.c 파일이 있다면 전처리 후 a.i 파일로 변환됨. 자세한 내용은 [[C언어 컴파일 빌드 과정]] 참조 | ||
;여러줄 전처리 | ;여러줄 전처리 | ||
* 한 줄 표현 | * 한 줄 표현 | ||
< | <source lang='C'> | ||
#define PI 3.14 | #define PI 3.14 | ||
</ | </source> | ||
* 여러줄 표현 | * 여러줄 표현 | ||
< | <source lang='C'> | ||
#define PI \ | #define PI \ | ||
3.14 | 3.14 | ||
</ | </source> | ||
==#include== | ==#include== | ||
;컴파일러에 설정되어 있는 디렉토리에서 찾음 | ;컴파일러에 설정되어 있는 디렉토리에서 찾음 | ||
< | <source lang='C'> | ||
#include <stdio.h> | #include <stdio.h> | ||
</ | </source> | ||
'<', '>'로 감싸있는 경우 컴파일러에서 설정되어 있는 디렉토리에서 "stdio.h"를 찾음 | '<', '>'로 감싸있는 경우 컴파일러에서 설정되어 있는 디렉토리에서 "stdio.h"를 찾음 | ||
;현재 프로젝트 위치에서 찾음 | ;현재 프로젝트 위치에서 찾음 | ||
< | <source lang='C'> | ||
#include "a.h" | #include "a.h" | ||
</ | </source> | ||
현재 파일 위치에서 "a.h" 파일을 찾음 | 현재 파일 위치에서 "a.h" 파일을 찾음 | ||
41번째 줄: | 40번째 줄: | ||
;hello.c 코드의 전처리 명령 처리 | ;hello.c 코드의 전처리 명령 처리 | ||
* 전처리만 처리하기 위한 gcc 명령 | * 전처리만 처리하기 위한 gcc 명령 | ||
< | <source lang='C'> | ||
gcc -E -o hello.i hello.c | gcc -E -o hello.i hello.c | ||
</ | </source> | ||
* hello.c | * hello.c | ||
< | <source lang='C'> | ||
#include <stdio.h> | #include <stdio.h> | ||
53번째 줄: | 52번째 줄: | ||
printf("Hello World\n"); | printf("Hello World\n"); | ||
} | } | ||
</ | </source> | ||
* hello.i | * hello.i | ||
< | <source lang='C'> | ||
# 1 "e.c" | # 1 "e.c" | ||
# 1 "<built-in>" 1 | # 1 "<built-in>" 1 | ||
516번째 줄: | 515번째 줄: | ||
printf("Hello World\n"); | printf("Hello World\n"); | ||
} | } | ||
</ | </source> | ||
hello.c 파일의 전처리 명령 처리 후 hello.i 파일을 살펴보면 stdio.h의 코드들이 들어와 있는 것을 알 수 있음 | hello.c 파일의 전처리 명령 처리 후 hello.i 파일을 살펴보면 stdio.h의 코드들이 들어와 있는 것을 알 수 있음 |