• 전처리기 : Compile전에 코드를 변헝, CPU 연산 x

#include

  • <> : 컴파일러 설정의 시스템 디렉터리에서 검색
  • "" : 현재 프로젝트 폴더에서 검색

매크로와 __inline 함수

  • 실제로는 함수가 아니라 한 행 혹은 여러 행으로 기술할 수 있는 구문
  • 함수를 호출할 때 overhead(인자 복사 등)가 발생하기 때문에 매크로 사용(내용이 적을 때)
  • 인자의 형을 정하지 않기 때문에 위험, 사용 자제를 추천 -> __inline 함수로 대체
#define ADD(a, b) (a + b) // 괄호를 하지 않으면 연산자 우선순위가 엇갈릴 수 있음
#define STRING(a) #a
#define PASTER(a, b) a##b

int main(void)
{
	printf("%d\n", ADD(3, 4));
    
    int nData = 10;
    printf("%d\n", PASTER(nDa, ta)); // 인자가 합쳐져서 nData와 같음
    printf("%s\n", STRING(nData)); // "nData"가 출력
    return 0;
}

조건부 컴파일

  • 상수 정의에 따라 실제로 번역되는 소스코드가 달라지도록 구성하는 것
  • #ifdef __, #else, #endif

'💻 Computer Science > C & C++' 카테고리의 다른 글

[C++] 함수  (1) 2024.02.05
[C] Makefile & CMake  (0) 2024.01.23
[C] 컴파일 최적화  (0) 2024.01.10
[C] 구조체와 공용체  (0) 2024.01.10
[C] 파일 입출력  (0) 2024.01.10