- http://oldpie.yoonkn.com/cgi-bin/moin.cgi/ 에 적었던 내용인데 이쪽으로 옮길겸 해서 새로 적어둔다. Macro
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/cpp/variadic-macros.html 에 아주 잘나와있으니 참고.
개발도중 주석을 쓰느니 로그를 많이 남기는 편인데 항상 비슷한 코드들을 쓰게 되길래 걍 적어둔다. 나중에 필요하면 바로 베낄수 있도록.
#if 1
# define LOG(...) do { fprintf(stdout, "[LOG] " __VA_ARGS__); } while(0) // 일반적인 로그를 남길때
# define ERR(...) do { fprintf(stdout, "[ERR] " __VA_ARGS__); } while(0) // 에러를 남길때
# define WRN(...) do { fprintf(stdout, "[WRN] " __VA_ARGS__); } while(0) // 에러는 아니고 그냥 넘기기는 그런 것들
# define XXX(...) do { fprintf(stdout, "[XXX] " __VA_ARGS__); } while(0) // 이건 한창 디버깅중일때 일시적으로만
#else
# define LOG(...) do {} while(0)
# define ERR(...) do {} while(0)
# define WRN(...) do {} while(0)
# define XXX(...) do {} while(0)
#endif
로그를 너무 많이 찍어대서 눈에 잘 안보이면 안시코드를 쓰던가 하자.
fprintf(stdout, "\e[1;7m[ERR]\e[0m " __VA_ARGS__);
요딴식으로..
'내밥줄 > 프로그래밍' 카테고리의 다른 글
[펌]stringstream을 이용한 문자열의 형식화 (0) | 2009.03.19 |
---|---|
[펌]Windows XP + Cygwin으로 iphone, ipod touch 개발환경 한방에 설치 (0) | 2009.03.17 |
[펌]gdb 를 통한 디버깅 따라하기 (0) | 2009.02.16 |
CVS 사용법 요약 (0) | 2008.12.30 |
윈도우에서 MinGW + Eclipse를 이용해 C/C++ 개발하기 (0) | 2008.12.30 |