반응형
우연히 자료 검색하다가 이런 툴이 있다는 걸 알고 사용해보니 무시하고 넘어갔던 부분에서 C++의 문법 오류를 다 잡아주니 좋은 듯하다. 
특히 신경안쓰고 const 같은거 안붙여주고 넘어갔는데, 그런거라던지, 변수 선언하고 나중에 지워야지 했던 것들
물론 Visual Studio 에서 잡아주긴 하지만 전용 툴이 있다는 걸 이번에 알고 설치후 비쥬얼 스튜디오에서 실행해보니 효과적이였다. 

우선 cppcheck는 wiki가 있어서 이곳에서 설명을 읽어 볼 수 있다. 
관련 프로그램은 공개 프로그램이므로 소스포지에서 언제든 공짜로 다운 받아 볼 수 있다. 

보통 비쥬얼 스튜디오 이용하는 개발자들은 프로젝트 설정의 경고 메세지를 4단계로 올려놓고 쓰다보면 너무많은 경고 메세지에 좀 신경이 쓰이는데, 문법적 오류는 이걸로 체크하면 아무래도 신경쓸부분과 무시할 부분을 선별할수 있어 그런 점에서 좋은 듯하다. 

보통 설치된 cppcheck.exe를 커맨드 모드상에서 실행해도 되고, 비쥬얼 스튜디오에서 실행 할수도 있는데, 
개인적으로는 비쥬얼 스튜디오를 이용하라고 권하고 싶다. 또한 gui.exe라는 녀석이 있는데, 폴더 선택하면 알아서 
C++ 파일들을 검색해서 체크를 들어간다. 



일단 본인이 쓰는 비쥬얼 스튜디오는 프로파일링 문제로 프리미엄을 사용하는데, 여기서 셋팅하는 법을 설명하겠다. 
우선 소스포지에서 다운을 받고, 설치를 기본 폴더에 끝냈다고 생각하고, 

비쥬얼 스튜디오 한글 버전에서 "도구 => 외부도구"를 선택한다. 
이때 외부도구 팝업창이 뜨는데, 
이창에서 추가를 눌러서 제목에 cppcheck를 쓰고, 설치된 cppcheck.exe를 선택하고, 인수를 작성하면 된다. 
이때 인수에는 --all --enable=style -q --template vs $(ProjectDir) 로 입력하면된다. 
비쥬얼 스튜디오 2008과는 매크로 옵션이 다르니 이부분은 2008버전과 2010 버전은 각각 화살표 버튼을 눌러서 해당 매크로 옵션을 선택해서 인자를 넣어주면 된다. 
초기 디렉토리도 프로젝트 폴더로 맞추어주면 끝이다. 

이제 실행하자!

실행은 해당 프로젝트의 솔류션 탐색기에서 프로젝트명을 클릭한 상태에서 메뉴의 도구=>cppcheck 메뉴를 클릭하면 출력 창에 문법적인 오류에 해당하는 것들이 쫘~~~ 나온다. 

주로 const 문제나 unicode, 또는 선언하고 안쓰는 변수들에 대해서 쫘~ 나올것이다. 많이 거슬리는 것들을 찾아 정리해주는 센스!!!

자 이제 완벽에 가까운 프로그래머로 거듭나길~~~

1. cppcheck 다운받는곳 : 여기
2. 위키 : 여기

참고로 gcc도 가능하니 gcc나 기타 c++문법을 적용받는 코딩을 하는 분들은 사용해보길 권한다.
반응형
반응형
공간을 분할하고 해당 공간에 대해서 동적으로 움직이는 녀석들을 찾아내고 하는 알고리즘인데, 
이것에 자료는 게임젬스2권으 4장 3절에 나오는 내용이다. 


반응형

'개발일지' 카테고리의 다른 글

텐센트의 지클라우드  (0) 2016.07.26
게임 개발자가 이력서에 명시 할 것들  (0) 2011.07.12
반응형

boost.org 에 있는 boost library 목록 정리

* generic 을 옴기는 과정에서 그냥 일반화라고 적었는데요, specialize 와 마찬가지로 template 관련 책을 보시지 않으면 잘 이해가 되지 않을 것입니다. 보통 객체지향 프로그래밍과 대비되는 말로 template 을 사용한 디자인을 일반화 프로그래밍이라고 하며, 일반화로 디자인된 객체를 실제 객체로 매칭시켜서 특화시킨 것을 template specialize 라고 합니다.

* stl 도 마찬가지지만 boost 는 고수준의 template 코딩 테크닉이 함축되어 있어 사용 혹은 구현 소스를 보실 때 혼동이 많으실 겁니다. 국내에 관련하여 빨간책 시리즈가 나와 있는데요, 이 책들이 도움을 줄 수 있을 것입니다.(modern c+ design 외 다수)

* 정리하다 보니 정말 너무 많네요. 제가 영어가 부족한 부분도 있는데다가 실제 내용을 읽어보지 않고서 정리하기에 무리가 있는 부분도 있고, 중간에 볼드체로 표시하지 않은 부분 부터는 간단하게 적어보았습니다.
---------------- [ Container ] ----------------

반응형

+ Recent posts