티스토리 뷰

원문 : __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를 이용한 동적 디버깅에 많이 응용이
되니 눈여겨 봐야 합니다.

출처: http://hackereyes.tistory.com/entry/펌-동적-디버깅-FILE-LINE의-활용

'Study > Language &gt;' 카테고리의 다른 글

몇몇 언어들의 BNF 문법  (0) 2010.05.11
전처리기  (0) 2010.04.30
getAddDay 함수를 이용한 해시 예제,  (0) 2010.01.15
getAddDay 함수 구현  (0) 2010.01.14
VI 명령어 총집합  (0) 2010.01.12
댓글