__LINE__ 3

Cfaq 10

Q 10.27 __FILE__과 __LINE__ 매크로를, 디버그용으로, 메시지 출력하는 매크로에 쓰고 싶습니다. 어떻게 하면 될까요? Answer 질문 10.26을 간단히 하기 위해, 따로 만든 질문입니다. 한가지 방법은, 가 변 인자를 받는 함수를 만들고 (질문 15.4, 15.5 참고), __FILE__과 __LINE__ 을 받아서 그 함수에 전달해 주는 함수를 따로 만듭니다. 예를 들면: #include #include void debug(char *fmt, ...); void dbginfo(int, char *); #define DEBUG dbginfo(__LINE__, __FILE__), debug static char *dbgfile; static int dbgline; void dbginf..

debug에 사용할 메시지

printf("\n Debug line %d, in the function %s, in the file %s.\n", __LINE__, __func__, __FILE__); + C99 에 새로 추가된 __func__ : 현재 function을 적어 줍니다. __FILE__과 __LINE__ 등은 어디 에나 정의되어 있지 않습니다. __FILE__은 몰라도 __LINE__을 # define으로 정의하는 등있는 이유가없습니다. 이 같은 정의하지 않고도 마음대로 선언되는 매크로 것을 통합 매크로라고합니다. ANSI C는 6 종류의 내장 매크로를 규정하고있습니다. 매크로 이름 어떻게 전개되는지 __FILE__ __FILE__ 파일 이름 리터럴 문자열. __LINE__ __LINE__ 줄 번호를 나타내는 10 진..