이거 매크로 로는 불가능?

puaxx의 이미지

매크로로는 가변인자를 적용할수 없나요?

#define ERRLOG(format,arg_list)\
  printf(format,arg_list);

위와 같이 하면 되나요?흠..알려 주세요.

M.W.Park의 이미지

http://bbs.kldp.org/viewtopic.php?t=27429

몇년전에 비슷한 논의가 있었던게 갑자기 생각나는군요.. 8)

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

ibanez1383의 이미지

그냥 저는 이렇게 씁니다...

#define dprintk(x...) printk(x)

ifdef 랑 붙여서..디버깅 할때도 쓰고..

익명 사용자의 이미지

해결했네요.덕부넹 ㅋㅋ

익명 사용자의 이미지

해결했네요.덕부넹 ㅋㅋ

익명 사용자의 이미지

해결했네요.덕부넹 ㅋㅋ

doldori의 이미지

C99 표준에 따르면

#define ERRLOG(format, ...)\ 
  printf(format, __VA_ARGS__); 

입니다.
체스맨의 이미지

최근 표준을 쓰지 않고 구식 K&R 컴파일러로도 가능합니다.

#define ERRLOG(arg) printf arg

단, 사용시에 괄호 두개가 들어갑니다.

ERRLOG(( "%s\n", "Hello, world" ));

Orion Project : http://orionids.org

익명 사용자의 이미지

체스맨 wrote:
최근 표준을 쓰지 않고 구식 K&R 컴파일러로도 가능합니다.

#define ERRLOG(arg) printf arg

단, 사용시에 괄호 두개가 들어갑니다.

ERRLOG(( "%s\n", "Hello, world" ));

감사합니다..^^ 이 방법이 더 좋아 보이는군요.