원문 : __FILE__ , __LINE__ 의 활용

#include <stdio.h>
void main() {
#line 1 "main.c"
        int i=2,j=3,k=4;
        printf("%d,%d,%d\n",i,j,k);
        printf("%s, %d\n",__FILE__,__LINE__);
        printf("%d\n",__LINE__);
#line 3897
        printf("%s, %d\n",__FILE__,__LINE__);
#line 0 "aaa.c"
        printf("%s, %d\n",__FILE__,__LINE__);
}

다음의 결과를 유추해 보세여..
시간 1분) 밑에 답을 보기 전에 꼭 먼저 생각해 보시길...
















2,3,4
main.c, 3
4
main.c, 3897
aaa.c, 0

이때 __LINE__은 현재 행의 번호를
__FILE__은 현재 파일명을 나타내는데
#line 매크로가 이값을 바꿔 줄수 있습니다.

이기법은 향후에 assert를 이용한 동적 디버깅에 많이 응용이
되니 눈여겨 봐야 합니다.

+ Recent posts