CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ 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 -
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.