{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name = Cppcheck
| logo = 
| screenshot = 
| caption = 
| author = Daniel Marjamäki
| developer = 
| released = {{시작 날짜와 나이|2007|05|08}}<!-- 1.30 is the oldest version that can be downloaded from sourceforge.net, however the initial release is dating back to 2007-05-08, see https://sourceforge.net/p/cppcheck/news/?page=3 -->
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{wikidata|qualifier|P348|P577}}
| programming language = [[C++]]
| operating_system = [[크로스 플랫폼]]
| language = [[영어]], [[네덜란드어]], [[핀란드어]], [[스웨덴어]], [[독일어]], [[러시아어]], [[일본어]], [[세르비아어]], [[스페인어]], [[프랑스어]], [[이탈리아어]], [[한국어]], [[중국어]]
| genre = [[정적 프로그램 분석]]
| license = [[GNU 일반 공중 사용 허가서]]
| website = {{URL|cppcheck.sourceforge.net}}
}}

'''Cppcheck'''는 [[C (프로그래밍 언어)|C]], [[C++]] [[프로그래밍 언어]]용 [[정적 프로그램 분석|정적 코드 분석]] 도구이다. 비표준 코드를 검사할 수 있는 다목적 도구이다.<ref>{{웹 인용|title=A Survey of C and C++ Software Tools for Computational Science|url=http://www.softeng.rl.ac.uk/media/uploads/publications/2010/03/c-c_tools_report.pdf|work=Science and Technologies Facility Council|publisher=Chilbolton, Daresbury, and Rutherford Appleton Laboratories|accessdate=14 September 2010|page=14|date=December 2009|url-status=dead|archiveurl=https://web.archive.org/web/20120312224600/http://www.softeng.rl.ac.uk/media/uploads/publications/2010/03/c-c_tools_report.pdf|archivedate=12 March 2012}}</ref> 제작자이자 선임 개발자는 Daniel Marjamäki이다.

Cppcheck는 [[GNU 일반 공중 사용 허가서]]로 배포되는 [[자유 소프트웨어]]이다.

== 기능 ==
Cppcheck는 컴파일러 자체에서 다루지 않을 수 있는 다양한 정적 검사를 지원한다. 해당 검사들은 정적 분석 검사들이며 소스 코드 레벨에서 수행이 가능하다. 이 프로그램은 [[휴리스틱 이론]]이 아닌 엄격한 정적 분석 검사를 지향한다.

지원되는 검사들 중 일부는 다음을 포함한다:

* [[자동 변수]] 검사
* 배열 오버런(overrun) [[경계 검사]]
* [[클래스 (컴퓨터 프로그래밍)|클래스]] 검사 (예: 미사용 함수, 변수 초기화, 메모리 중복)
* [[오픈 그룹]]에 의거한 구식(deprecated) 처리 또는 대체된 함수의 사용<ref>http://www.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap03.html</ref>
* 예외 안전 검사(예: 메모리 할당 사용 및 소멸자 검사)
* [[메모리 누수]] (예: 할당 해제 없이 스코프 소실)
* [[자원 누수]] (예: 파일 핸들을 닫는 것을 잊음)
* 유효하지 않은 [[표준 템플릿 라이브러리]] 함수 및 [[관용구]] 사용
* 기타 스타일 및 성능 오류

== 플러그인 ==
다음과 같은 [[통합 개발 환경|IDE]]용 플러그인이 존재한다.<ref>{{웹 인용|url=http://sourceforge.net/apps/mediawiki/cppcheck |archive-url=https://archive.today/20120718020019/http://sourceforge.net/apps/mediawiki/cppcheck |url-status=dead |archive-date=2012-07-18 |title=SourceForge.net: cppcheck |work=sourceforge.net }}</ref>
* [[젯브레인즈]]<ref>{{웹 인용|url=https://plugins.jetbrains.com/plugin/8143 |title=cppcheck plugin for CLion |work=plugins.jetbrains.com}}</ref>
* [[Code::Blocks]] - 연동.
* [[코드라이트]] - 연동.
* [[이클립스 (소프트웨어)|이클립스]]<ref>{{웹 인용|url=https://github.com/kwin/cppcheclipse/ |title=Cppcheclipse |work=github.com}}</ref>
* [[이맥스]]<ref>{{웹 인용|url=https://flycheck.readthedocs.org/ |title=Flycheck |work=github.com}}</ref>
* [[Gedit]]<ref>{{웹 인용|url=https://github.com/odamite/gedit-cppcheck |archive-url=https://archive.today/20121217133145/https://github.com/odamite/gedit-cppcheck |url-status=dead |archive-date=2012-12-17 |title=gedit Cppcheck plugin |work=github.com }}</ref>
* [[허드슨 (소프트웨어)|허드슨]]<ref>{{웹 인용|url=http://wiki.hudson-ci.org/display/HUDSON/Cppcheck+Plugin |title=Cppcheck Plugin |work=hudson-ci.org |access-date=2010-09-15 |archive-url=https://web.archive.org/web/20171026175153/http://wiki.hudson-ci.org/display/HUDSON/Cppcheck+Plugin |archive-date=2017-10-26 |url-status=dead }}</ref>
* [[젠킨스|Jenkins]]<ref>{{웹 인용|url=http://wiki.jenkins-ci.org/display/JENKINS/Cppcheck+Plugin |title=Cppcheck Plugin |work=jenkins-ci.org}}</ref>
* [[케이트 (문서 편집기)|케이트]]<ref>{{웹 인용|url=https://kate-editor.org/2013/02/02/kate-project-plugin-news-code-analysis/|title=Kate Project Plugin News – Code Analysis|last=Cullmann|first=Christoph|date=2013-02-02|website=Kate {{!}} Get an Edge in Editing|access-date=2016-12-14}}</ref>
* [[KDevelop]]<ref>{{웹 인용|url=https://mail.kde.org/pipermail/kdevelop-devel/2016-December/055905.html|title=KDevelop's Cppcheck plugin merged into kdevelop.git, will be released with 5.1|last=Funk|first=Kevin|date=2016-12-06|access-date=2016-12-14}}</ref>
* [[Qt 크리에이터]]<ref>{{웹 인용|url=https://wiki.qt.io/Qt_Creator_Plug-in_Gallery#CppCheck |title=Qt Creator Plug-in Gallery |work=Qt Wiki}}</ref>
* [[서브라임 텍스트]]<ref>{{웹 인용|url=https://github.com/SublimeLinter/SublimeLinter |title=Sublimelinter plugin |work=github.com}}</ref>
* [[마이크로소프트 비주얼 스튜디오]]<ref>{{웹 인용|url=https://marketplace.visualstudio.com/items?itemName=Alexium.Cppcheckadd-in |title=Cppcheck add-in |work=Visual Studio Marketplace}}</ref><ref>{{웹 인용|last=VioletGiraffe|title=Homepage cppcheck-vs-addin|url=https://github.com/VioletGiraffe/cppcheck-vs-addin|accessdate=3 March 2014}}</ref><ref>{{웹 인용|last=Srix|title=Simple open source static analysis tool for Visual Studio|url=http://www.technosrix.com/2008/10/simple-open-source-static-analysis-tool.html|accessdate=27 August 2012|archiveurl=https://web.archive.org/web/20150210000727/http://www.technosrix.com/simple-open-source-static-analysis-tool-for-visual-studio/|archivedate=2015-02-10}}</ref>
* [[Yasca]]<ref>{{웹 인용|url=https://scovetta.github.io/yasca/ |title=Yasca |last=Scovetta |first=Michael }}</ref>

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{sourceforge|cppcheck}}

[[분류:크로스 플랫폼 자유 소프트웨어]]
[[분류:C++로 작성된 자유 소프트웨어]]
[[분류:GPL 라이선스 소프트웨어]]
[[분류:자유 소프트웨어 테스트 도구]]
[[분류:정적 프로그램 분석 도구]]