| [ CnUnix ] in KIDS 글 쓴 이(By): terzeron (microkid) 날 짜 (Date): 2004년 2월 3일 화요일 오전 09시 30분 12초 제 목(Title): Re: [Q]MACRO 를 함수로 변환 할때 > #define err_print(_fmt, _args...) fprintf(stderr, "%s:%d: "_fmt, \ > __FILE__, __LINE__, ##args) gcc가 안깔려 있는 환경에서는 대략 낭패입니다. variable arg. 표준은 __VA_ARGS__일거고요. 지원하지 않는 컴파일러가 많습니다. 귀찮더라도 그냥 괄호하나 더 쓰면서 코딩하는게 가장 포터블한 방법인거 같습니다. 아, 제가 주로 GCC로 작업을 하다보니... C99 표준에 맞춰 다시 작성했습니다. #define err_print(_fmt, ...) fprintf(stderr, "%s:%d: "##_fmt, \ __FILE__, __LINE__, ##__VA_ARGS__) 이게 안 통하는 컴파일러라면 함수로 짜는 수 밖에요. --- 어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다. - Stanislaw Lem - |