태그: 매크로
4편
-
C 언어 시리즈 #08 — 전처리기 8단계·매크로·_Pragma·번역 단위 경계
ISO C 번역 8단계 중 전처리가 맡는 부분, #include 텍스트 합성과 번역 단위 경계, 함수형 매크로의 다중 평가·#/## 함정, _Pragma·include guard·조건부 컴파일로 중복 정의를 막고 헤더 의존 순서를 안정화하는 방법을 정리합니다.
-
X-Macro로 중복 없애기: enum↔문자열 매핑, 에러 코드 표, 상태 머신, 커맨드 테이블
enum과 문자열 배열을 따로 정의하다 한쪽만 고쳐 어긋나는 문제를 X-Macro로 한 곳에서 관리하는 방법을 보여줍니다. enum↔문자열 양방향 변환과 개수 자동 계산, 에러 코드·HTTP 상태 표, 상태 머신 전이 테이블, CLI 커맨드 디스패치 예제를 다룹니다.
-
C++ 전처리기 제대로 쓰기: #define과 #ifdef 실전 패턴
redefinition 에러, Windows와 Linux API 분기, 디버그 빌드 전용 로그, __FILE__과 __LINE__을 넣은 assert처럼 전처리기가 필요한 상황을 예제로 풀고, 가변 인자 매크로와 확장 순서, 인자에 쉼표가 든 매크로의 함정을 설명합니다.
-
C++ 매크로 고급 기법: X-Macro, 문자열화(#)·토큰 붙이기(##), 가변 인자 매크로
C++ 전처리기 매크로의 고급 기법을 정리합니다. X-Macro 패턴, 문자열화(#)·토큰 붙이기(##), 조건부 컴파일, 그리고 괄호 누락·부작용·세미콜론 문제처럼 매크로가 constexpr/템플릿보다 위험한 이유를 다룹니다.