2008년 3월 5일 수요일

xlc 컴파일러의 __VA_ARGS__ 사용 예



#define LOG_PRINT(level, ...) my_logprint(int level, __VA_ARGS__)

void my_logprint(int level, char *fmt, ...)
{
va_list ap;

va_start(ap, fmt);
...
va_end(ap);
}


위 코드에서 주의할 점은 매크로 정의 라인에서는 첫번째 파라메터 이후에 __VA_ARGS__ 가
오고 함수 정의에서는 두번째 파라메터 이후에 ... 이 온다는 것이다.

댓글 없음: