2008-11-01 18:16:48 +01:00
<?xml version='1.0' encoding='UTF-8'?>
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!--
`xsltproc -''-nonet \
-''-param man.charmap.use.subset "0" \
-''-param make.year.ranges "1" \
-''-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
manpage.xml'
A manual page <package > .<section > will be generated. You may view the
manual page with: nroff -man <package > .<section > | less'. A typical entry
in a Makefile or Makefile.am is:
DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
manpage.1: manpage.xml
$(XP) $(DB2MAN) $<
The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. Please remember that if you create the nroff
version in one of the debian/rules file targets (such as build), you will need
to include xsltproc and docbook-xsl in your Build-Depends control field.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.
Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1 > ... </refsect1> .
To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.
Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "Reijo">
<!ENTITY dhsurname "Tomperi">
2009-03-07 08:56:12 +01:00
<!-- dhusername could also be set to "&firstname; &surname;". -->
2008-11-01 18:16:48 +01:00
<!ENTITY dhusername "&dhfirstname; &dhsurname;">
<!ENTITY dhemail "aggro80@users.sourceforge.net">
<!-- SECTION should be 1 - 8, maybe w/ subsection other parameters are
allowed: see man(7), man(1) and
http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
<!ENTITY dhsection "1">
<!-- TITLE should be something like "User commands" or similar (see
http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
<!ENTITY dhtitle "cppcheck User Manual">
<!ENTITY dhucpackage "CPPCHECK">
<!ENTITY dhpackage "cppcheck">
]>
<refentry >
<refentryinfo >
<title > &dhtitle; </title>
<productname > &dhpackage; </productname>
<authorgroup >
<author >
<firstname > &dhfirstname; </firstname>
<surname > &dhsurname; </surname>
<contrib > Wrote this manpage for the Debian system.</contrib>
<address >
<email > &dhemail; </email>
</address>
</author>
</authorgroup>
<copyright >
2009-03-08 18:12:00 +01:00
<year > 2009</year>
2008-11-01 18:16:48 +01:00
<holder > &dhusername; </holder>
</copyright>
<legalnotice >
<para > This manual page was written for the Debian system
(but may be used by others).</para>
<para > Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License,
Version 2 or (at your option) any later version published by
the Free Software Foundation.</para>
<para > On Debian systems, the complete text of the GNU General Public
License can be found in
2009-03-01 21:44:22 +01:00
<filename > /usr/share/common-licenses/GPL-2</filename> .</para>
2008-11-01 18:16:48 +01:00
</legalnotice>
</refentryinfo>
<refmeta >
<refentrytitle > &dhucpackage; </refentrytitle>
<manvolnum > &dhsection; </manvolnum>
</refmeta>
<refnamediv >
<refname > &dhpackage; </refname>
<refpurpose > Simple syntax checking of C/C++.</refpurpose>
</refnamediv>
<refsynopsisdiv >
<cmdsynopsis >
<command > &dhpackage; </command>
2008-12-19 23:27:51 +01:00
<arg choice= "opt" > <option > --all</option> </arg>
2009-03-07 14:53:13 +01:00
<arg choice= "opt" > <option > --auto-dealloc [file]</option> </arg>
2009-03-06 01:03:31 +01:00
<arg choice= "opt" > <option > --error-exitcode=[n]</option> </arg>
2009-01-22 21:26:04 +01:00
<arg choice= "opt" > <option > --force</option> </arg>
<arg choice= "opt" > <option > --help</option> </arg>
2009-02-20 20:40:42 +01:00
<arg choice= "opt" > <option > -I[dir]</option> </arg>
2009-03-06 22:17:42 +01:00
<arg choice= "opt" > <option > -j[jobs]</option> </arg>
2009-01-22 21:26:04 +01:00
<arg choice= "opt" > <option > --quiet</option> </arg>
2008-12-19 23:27:51 +01:00
<arg choice= "opt" > <option > --style</option> </arg>
2009-09-05 21:01:49 +02:00
<arg choice= "opt" > <option > --template ['text']</option> </arg>
2009-01-28 22:01:29 +01:00
<arg choice= "opt" > <option > --unused-functions</option> </arg>
2008-12-19 23:27:51 +01:00
<arg choice= "opt" > <option > --verbose</option> </arg>
2009-03-06 22:17:42 +01:00
<arg choice= "opt" > <option > --version</option> </arg>
2009-02-09 21:51:04 +01:00
<arg choice= "opt" > <option > --xml</option> </arg>
2008-12-19 20:19:26 +01:00
<arg choice= "opt" > <option > file or path</option> </arg>
2008-11-01 18:16:48 +01:00
<arg choice= "plain" > <option > ...</option> </arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id= "description" >
<title > DESCRIPTION</title>
2009-01-21 21:04:20 +01:00
<para > A tool for static C/C++ code analysis
2008-11-01 18:16:48 +01:00
Intended to complement the checking of the compiler.
Checks for: memory leaks, mismatching allocation-deallocation,
buffer overrun, and many more.</para>
</refsect1>
<refsect1 id= "options" >
<title > OPTIONS</title>
<para > Analyze given C/C++ files for common errors.</para>
<variablelist >
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
<varlistentry >
2008-12-19 23:27:51 +01:00
<term > <option > -a</option> </term>
2008-11-01 18:16:48 +01:00
<term > <option > --all</option> </term>
<listitem >
2009-03-07 08:56:12 +01:00
<para > Normally a message is only shown if cppcheck is sure it has
2008-11-01 18:16:48 +01:00
found a bug. When this option is given, all messages are shown.</para>
</listitem>
</varlistentry>
2009-03-07 08:56:12 +01:00
<varlistentry >
2009-03-07 14:53:13 +01:00
<term > <option > --auto-dealloc [file]</option> </term>
2009-03-07 08:56:12 +01:00
<listitem >
<para > Suppress warnings about classes that have automatic deallocation</para>
<para > The classnames must be provided in plain text - one classname / line - in a .lst file. </para>
<para > This option can be given several times, allowing you to provide several .lst files.</para>
</listitem>
</varlistentry>
2009-03-06 01:03:31 +01:00
<varlistentry >
<term > <option > --error-exitcode=[n]</option> </term>
<listitem >
2009-03-07 08:56:12 +01:00
<para > If errors are found, integer [n] is returned instead of default 0.
2009-03-06 01:03:31 +01:00
EXIT_FAILURE is returned if arguments are not valid or if no input files are
2009-03-07 08:56:12 +01:00
provided. Note that your operating system can modify this value, e.g.
2009-03-06 01:03:31 +01:00
256 can become 0.</para>
</listitem>
</varlistentry>
2009-01-22 20:59:50 +01:00
<varlistentry >
<term > <option > -f</option> </term>
<term > <option > --force</option> </term>
<listitem >
2009-03-07 08:56:12 +01:00
<para > Force checking of files that have a lot of configurations. Error is printed if such a file is found so there is no reason to use this by
2009-01-22 20:59:50 +01:00
default.</para>
</listitem>
</varlistentry>
2009-01-22 21:26:04 +01:00
<varlistentry >
<term > <option > -h</option> </term>
<term > <option > --help</option> </term>
<listitem >
<para > Print help text.</para>
</listitem>
</varlistentry>
2009-01-22 20:59:50 +01:00
<varlistentry >
2009-02-20 20:40:42 +01:00
<term > <option > -I [dir]</option> </term>
2009-01-22 20:59:50 +01:00
<listitem >
2009-03-07 08:56:12 +01:00
<para > Give include path. Give several -I parameters to give several paths. First given path is checked first. If paths are relative to source
2009-01-22 20:59:50 +01:00
files, this is not needed.</para>
</listitem>
</varlistentry>
2009-03-06 22:17:42 +01:00
<varlistentry >
<term > <option > -j [jobs]</option> </term>
<listitem >
<para > Start [jobs] threads to do the checking work.</para>
</listitem>
</varlistentry>
2008-11-01 18:16:48 +01:00
<varlistentry >
2008-12-19 23:27:51 +01:00
<term > <option > -q</option> </term>
2008-12-19 20:19:26 +01:00
<term > <option > --quiet</option> </term>
2008-11-01 18:16:48 +01:00
<listitem >
2008-12-19 20:19:26 +01:00
<para > Only print something when there is an error.</para>
2008-11-01 18:16:48 +01:00
</listitem>
</varlistentry>
2008-11-15 07:44:32 +01:00
<varlistentry >
2008-12-19 23:27:51 +01:00
<term > <option > -s</option> </term>
2008-12-19 20:19:26 +01:00
<term > <option > --style</option> </term>
2008-11-15 07:44:32 +01:00
<listitem >
2008-12-19 20:19:26 +01:00
<para > Check coding style.</para>
2008-11-15 07:44:32 +01:00
</listitem>
</varlistentry>
2009-09-05 21:01:49 +02:00
<varlistentry >
<term > <option > --template ['text']</option> </term>
<listitem >
<para > Format the error messages. E.g. '{file}:{line},{severity},{id},{message}' or '{file}({line}):({severity}) {message}'</para>
</listitem>
</varlistentry>
2009-01-28 22:01:29 +01:00
<varlistentry >
<term > <option > --unused-functions</option> </term>
<listitem >
<para > Check if there are unused functions</para>
</listitem>
</varlistentry>
2008-11-30 11:38:58 +01:00
<varlistentry >
2008-12-19 23:27:51 +01:00
<term > <option > -v</option> </term>
2008-11-30 11:38:58 +01:00
<term > <option > --verbose</option> </term>
<listitem >
<para > More detailed error reports</para>
</listitem>
</varlistentry>
2009-02-20 20:40:42 +01:00
<varlistentry >
2009-03-06 22:17:42 +01:00
<term > <option > --version</option> </term>
2009-02-20 20:40:42 +01:00
<listitem >
2009-03-06 22:17:42 +01:00
<para > Print out version information</para>
2009-02-20 20:40:42 +01:00
</listitem>
</varlistentry>
2009-01-28 22:01:29 +01:00
<varlistentry >
2009-02-09 21:51:04 +01:00
<term > <option > --xml</option> </term>
2009-01-28 22:01:29 +01:00
<listitem >
2009-02-09 21:51:04 +01:00
<para > Write results in xml to error stream</para>
2009-01-28 22:01:29 +01:00
</listitem>
</varlistentry>
2008-11-01 18:16:48 +01:00
</variablelist>
</refsect1>
<refsect1 id= "author" >
<title > AUTHOR</title>
2009-05-21 22:09:37 +02:00
<para > The program was written by Bill Egert, Daniel Marjamäki, Gianluca Scacco, Hoang Tuan Su, Kimmo Varis, Leandro Penz, Nicolas Le Cam, Reijo Tomperi, Slava Semushin and Vesa Pikki</para>
2008-11-01 18:16:48 +01:00
</refsect1>
<refsect1 id= "see_also" >
<title > SEE ALSO</title>
<!-- In alpabetical order. -->
<para > Full list of features: http://cppcheck.wiki.sourceforge.net/</para>
2009-03-07 08:56:12 +01:00
</refsect1>
2008-11-01 18:16:48 +01:00
</refentry>