C 전처리기를 직접 확장하며 놀아본 이야기
Fun Extending the C Preprocessor
C2Y 컴파일러를 취미로 만드는 저자가 C 전처리기에 추가한 재미있는 확장 기능들을 소개한다. __print()와 __where()로 매크로 확장과 정의 위치를 디버깅하고, __map()으로 재귀 제한을 우회해 각 인자에 매크로를 적용하며, __VA_COUNT__로 가변 인자 개수를 바로 얻는다. 전처리기의 미개발된 기계장치를 보완하면 가독성과 사용 편의성이 크게 향상된다는 점을 보여준다.
C 전처리기는 강력한 도구이지만, 제대로 활용하려면 읽을 수 없는 어두운 마법이 필요하다. 그러나 이는 하고자 하는 일 자체에 내재된 것이 아니라, 단지 그 기계장치가 덜 개발된 결과일 뿐이다.