2012-12-10 2 views
2

우리 회사는 PC-lint 실행 파일 lint-nt.exe를 가지고 있습니다.PC-lint를 Visual C++ 2008에 통합하는 방법

저는 PC-lint를 MS Visual Studio 2008과 통합하여 .c/ .cpp 소스를 분석하려고합니다. 그러나 나는 그 일을 성공 시키는데 성공하지 못했습니다.

내가 읽어

http://www.gimpel.com/html/pub80/env-vc9.lnt

유사한 같은 하나 개 또는 두 개의 다른 사이트에 대한 정보,하지만 성공.

Visual C++ 8에서 외부 도구를 추가하기 위해 표시된 단계를 수행했지만 새로 추가 된 도구를 클릭하면 PC-lint 창이 잠시 열리고 즉시 닫히고 모든 분석을 실행했는지 의심 스럽습니다. 그래서 나를 위해 일하지 않습니다.

은 그 때 나는 그것은 분석을 수행했다

lint-nt.exe +fce +fcp +cpp(cpp,cxx,cc) -i"C:\Program Files\Microsoft Visual Studio 9.0\VC\include" +libdir +libh myfile.cpp

으로 윈도우 명령 프롬프트에 보풀이 nt.exe를 실행 시도했지만 폴더 (한계는 포함 ++는 Visual C에서 헤더 파일을 많이 분석했다. h sal.h iostream 등.), 왜냐하면 내 소스 파일에 #include <iostream> 등이 있었기 때문입니다.

EDIT : pc-lint에는 +/-libdir, +/-libh 등의 옵션이 있는데 도움이 될만한 옵션이 있지만 컴파일러 헤더 분석을 피하기 위해 올바르게 사용할 수 없습니다.

두 질문 :

  1. 어떻게 컴파일러의 헤더 파일 분석에서 PC-보풀 방지 않으며, 단지 내 소스 코드 파일을 분석?
  2. pc-lint를 에 통합하는 방법. 사용하고있는 Visual C++ 2008 Express Edition?

답변

1

회사에서 Lint 실행 파일이있는 경우 용지에없는 경우 PDF 형식의 PC-Lint 설명서도 제공됩니다. 실행 파일과 함께 CD-ROM으로 제공됩니다. 그 매뉴얼은 당신의 친구이며, 이용 가능한 많은 옵션을 어떻게 사용하는지 알아내는 것입니다. 귀하의 질문에

:

  1. 는 명령 줄에서 +fce, +fcp, +libdir+libh 옵션을 제거, 빨리 시작하려면. 나는 당신이 방금 -wlib(1) 옵션을 놓치고있어 MS 라이브러리가 생성하는 많은 경고에 대해 침묵하고 있다고 가정합니다. 사용하지 마십시오 -wlib(0) : 라이브러리 헤더에 대한 모든 옵션이 자동으로 비활성화되지만 해당 라이브러리 헤더에서 생성 된 잘못된 구성으로 인해 해당 컴파일러 헤더에 숨겨진 범인을 찾을 수없는 코드에 트럭로드가 발생할 수 있습니다.
  2. user34341의 링크는 좋지 않은 시작은 아니지만 정확하게 따라갈 수있는 몇 가지 문제가 있습니다. 그리고 Gimpel 웹 사이트의 env-vc9.lnt는 설치 프로그램과 함께 PC-lint를 설치했다고 가정합니다. 귀하의 질문 라인을 읽고, 나는 당신이하지 않은 것 같아요. PC-lint 옵션 파일 std의 생성을 포함하여 그러한 설치를 작성하는 세부 사항.lnt는이 대답을하기에 너무 멀었습니다. 그러나이 모든 것을 고통스러운 세부 사항으로 설명하는 PDF 문서 "How to wield PC Lint"을 작성했습니다. the link from user34341, options file from Gimpel 및 내 문서를 결합하는 경우 확인해야합니다.

기타 : env-vc9.lnt에는 VC9 환경 (a.k.a Visual Studio) 사용 옵션 만 포함됩니다. C/C++ 컴파일러를 지원하려면 적절한 컴파일 옵션 파일 http://www.gimpel.com/html/pub80/co-msc90.lnt과 연관된 (Lint-only) 헤더 파일 http://www.gimpel.com/html/pub80/co-msc90.h이 필요합니다. 당신이 VS2008에 통합을 시작하기 전에

그래서 그들을 다운로드하고이 명령 줄 시도 :

lint-nt.exe +cpp(cpp,cxx,cc) co-msc90.lnt myfile.cpp 

을하고 그 결과 이전보다 더 나은 경우를 참조하십시오. -i 옵션은 괜찮 았지만 환경 변수 (예 : % INCLUDE %)가 Visual Studio에 올바르게 설정되어 있으면 필요하지 않습니다.

그리고 또 하나의 힌트 : 당신 가정은 PC-보풀 당신이 사용할 수 있고, 최신 패치 수준으로 업데이트해야합니다 버전 보면, 아직 수행하지 않은 : 7.50ad, 8.00x, 9.00i (현재 버전) 버전 번호 아래의 링크를 클릭하면 해당 웹 사이트 페이지로 연결됩니다. 그것은 당신에게 많은 어려움을 줄여 줄 것입니다. 나는 최신 버전을받는 것이 언제나 선택 사항이 아니라는 것을 알고 있습니다.

+0

잘 -wlib (1) co-msc90.lnt myfile.cpp 이제 오류가 발생했습니다. PC-lint for C/C++ (NT) Ver. 8.00p, 저작권 Gimpel Software 1985-2004 co-msc90.lnt 14 오류 72 : 잘못된 옵션 '+ compiler (search_actively_including_stac k)' co-msc90.lnt (55) : 오류 72 : 잘못된 옵션 '+ fwm' co_msc90.lnt (350) : 오류 72 : 잘못된 옵션 '+ rw (* type_traits)' --- 모듈 : CTroposManager.cpp _ CTroposManager.cpp (오류 : 잘못된 옵션 '+ rw (* * type_traits) ' _ #include co-msc90.h (18) : 오류 322 :'typeinfo '포함 파일을 열 수 없습니다. – goldenmean

+0

PC Lint 버전 8.00p (2004)를 사용하는 경우 먼저 버전을 2008 년 8.00x 버전으로 패치하는 것이 좋습니다 (쉽고 4 년이 더 걸리고 무료입니다!). co-msc90.lnt는 내 게시물에 표시된 최신 8.00 패치 페이지에 있습니다. 당신이 얻고있는 경고는 8.00p (2004!) 이후 버전에서 소개 된 기능이며, 8.00p에서는 지원되지 않습니다. –

관련 문제