본문 바로가기
Linux

[펌]vi로 error/warning 추적하기

by Leo 리오 2011. 1. 13.
반응형

안녕하세요?
혼자 알고 있기 아까운 나름 괜찮은 팁들을 소개하려고 합니다.
이렇게 하면 결국 제 공부가 늘어난다는 걸 저도 알고 이미 많은 사람들도 알고 있더라구요.
tag: vi, make, build, c++, compile, gcc, error, warning
일반적으로 리눅스에서 BUILD를 하기 위해서는 make utility를 사용합니다.
보통 make clean; make; make install 이 정도를 사용하게 되는데
다음 두 개의 option을 최근에 알게 되었습니다.
1) -B: make clean ; make 와 같은 효과를 냅니다.
2) -C: cd target_dir ; make 와 같은 효과를 냅니다.
       그래서 저는 home directory에 다음과 같은 makefile 을 하나 더 만들어 둡니다.
       ------------------------------------
       1 all:
       2     $(MAKE) -C src
       3
       4 clean:
       5     $(MAKE) -C src clean
       ------------------------------------
중요한 건 지금부터입니다.
여러 개의 소스를 한꺼번에 make하면 수많은 error/warning이 나오는데요.
그 중에서 원하는 error/warning을 찾아서 바로 편집/또는 브라우징을 하고 싶은데
예전에는 vi error_code.cpp +12 (12는 에러 발생 라인 번호) 처럼 했었습니다.
그 다음 에러를 찾기 위해서 make 를 또 하고 ...

이제는 세상이 많이 좋아져서 다음과 같이 vi 의 ex-mode (*각주*) 로 들어가서
: make -B
만 해주면 됩니다.
그럼 자동으로 해당 폴더의 해당 파일의 해당 error/warning 위치까지 자동으로 찾아 가줍니다.
이 때 다음 error/warning으로 이동하는 방법이 잘 생각이 안나면 곤란한데요.
vi *.cpp 처럼 한꺼번에 여러 개의 파일을 편집할 때는
:n :next :p :prev :previous 이런 명령어를 사용해서 왔다갔다 할 수 있습니다.
error/warning의 경우에는 n, p 앞에 'c'를 붙이면 됩니다.
:cn :cnext :cp :cprev :cfir :cfirst :cr :crewind :cla :clast
error/warning들만 좌악 펼쳐서 보고 싶을 때는
:cl :clist
error/warning 리스트를 별도의 윈도우에서 보는 방법도 있습니다.
:cope :copen :cw :cwindow :cq :cquit

요점정리:
1) vi [Enter]
2) :make -B
3) :cw
4) :cn [반복]

*각주* ex-mode: 콜론 치고 맨 밑으로 내려가서 명령어를 입력하는 모드

반응형

'Linux' 카테고리의 다른 글

install GMP MPFR MPC  (0) 2011.09.22
arm-linux-gcc toolchain 컴파일 및 설치  (1) 2011.09.20
find 고찰 및 활용  (0) 2011.09.19
리눅스 fg(fore ground), bg(back ground)  (0) 2011.09.19

댓글