C의 전처리기 명령어들 (지시어directives)
2018. 2. 21. 10:02
전처리기 지시어는 컴파일되기 전 소스코드를 단순치환(substitution)하는 것이다.
매크로 #define
object-like
function-like : 괄호를 많이 치자.
여러 행은 \로 구분.
장점 : 단순치환이라 함수호출시의 스택이나 인자생성 등의 비용을 절약
단점 : 정의하기 까다롭고, 디버깅하기 힘듬
#undef
조건부 컴파일용
#if... #endif
#ifdef... #endif
#ifndef... #endif
#else, #elif
#if defined( )
매크로 함수의 매개변수
#define STR(ABC) #ABC //매개변수를 문자열로 치환
#define STNUM(Y, S, P) Y##S##P //별개의 매개변수를 하나로 합침
미리 정의된 매크로
__FILE__
__TIME__
__DATE__
__LINE__
#line 1 "aaa.c" // line과 file의 재설정
컴파일러 설정
#pragma : 컴파일러에 따라 지시어가 다름
출처 : 난 정말 C PROGRAMMING을 공부한 적이 없다구요
'프로그래밍 > C, C++ 공부' 카테고리의 다른 글
C에서의 파일 입출력 (0) | 2018.02.23 |
---|---|
함수 포인터 (0) | 2018.02.21 |
C의 문자열 관련 함수들 (0) | 2018.02.21 |
템플릿을 사용한 컴파일 시간 배열 (0) | 2018.02.19 |
문자열 상수는 어디에 저장될까? (0) | 2018.02.18 |