티스토리 뷰
원문 : __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의-활용
#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 >' 카테고리의 다른 글
몇몇 언어들의 BNF 문법 (0) | 2010.05.11 |
---|---|
전처리기 (0) | 2010.04.30 |
getAddDay 함수를 이용한 해시 예제, (0) | 2010.01.15 |
getAddDay 함수 구현 (0) | 2010.01.14 |
VI 명령어 총집합 (0) | 2010.01.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 해커톤
- Jake Yoon
- 창의과학교구
- AndroidWear
- 핸즈온머신러닝
- gdg watchfacehack
- 안드로이드
- gdgssu
- 리눅스 커널 2.6 구조와 원리
- 그래비트랙스
- jaeseokyoon
- watchface
- jakeyoon
- 숭실대
- 소설네트워크2
- yjaeseok
- GDG
- 리눅스2.6
- 리눅스
- 릴레이대회본선
- 윤재석
- Linux
- GDG SSU
- 서버개발자
- 안드로이드폰
- 하쭈서쭈
- WatchFaceHack
- Developing on AWS
- 창조경제혁신센터
- 리눅스 커널 2.6
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함