static analysis of C/C++ code
Go to file
Daniel Marjamäki 1978ac3562 Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
CheckBufferOverrun.cpp made cppcheck compile with g++ 4.3 2008-08-30 18:29:37 +00:00
CheckBufferOverrun.h CheckBufferOverrun: Added 'CheckDangerousFunctions' 2007-05-25 06:44:53 +00:00
CheckClass.cpp compilation: Various cross compilation fixes. The "--recursive" option doesn't work on VC now. 2008-09-11 17:03:58 +00:00
CheckClass.h CheckClass; Added files (Check for mistakes related to classes) 2007-05-24 13:07:30 +00:00
CheckHeaders.cpp made cppcheck compile with g++ 4.3 2008-08-30 18:29:37 +00:00
CheckHeaders.h CheckHeaders: Added files (Check for mistakes in headers or related to headers) 2007-05-24 13:08:18 +00:00
CheckMemoryLeak.cpp CheckMemoryLeak: Removed false positives about not deleting class instances 2008-09-29 06:38:25 +00:00
CheckMemoryLeak.h CheckMemoryLeak: Added files (Check for memory leaks) 2007-05-24 13:08:51 +00:00
CheckOther.cpp Unsigned division: Checking if negative constant is used 2008-10-06 16:42:42 +00:00
CheckOther.h Incomplete statement: Check for statements that begin with a constant 2008-09-20 17:34:37 +00:00
CommonCheck.cpp compilation: Various cross compilation fixes. The "--recursive" option doesn't work on VC now. 2008-09-11 17:03:58 +00:00
CommonCheck.h CheckMemoryLeak: Refactoring the check 2008-08-16 12:44:46 +00:00
Makefile testunusedvar: Added simple testing for unused variables 2008-09-24 11:28:00 +00:00
cppcheck.cbproj cg2007: Added CodeGear 2007 project files 2008-08-07 19:15:06 +00:00
main.cpp CheckUnsignedDivision: Made it more accurate and moved it to the 2008-10-04 12:12:24 +00:00
readme.txt updated command syntax example 2008-02-22 14:58:53 +00:00
testbufferoverrun.cpp Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
testcharvar.cpp Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
testconstructors.cpp Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
testdivision.cpp Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
testmemleak.cpp Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
testrunner.cbproj Testing: Updated the testing to the new test framework 2008-10-13 06:42:40 +00:00
testrunner.cpp Testing: Updated the testing to the new test framework 2008-10-13 06:42:40 +00:00
tests.cpp test: Added 'testdivision' 2008-08-23 16:40:53 +00:00
testsuite.cpp Testing: Updated the testing to the new test framework 2008-10-13 06:42:40 +00:00
testsuite.h Testing: Added macro 'REGISTER_TEST' 2008-10-15 06:48:18 +00:00
testunusedvar.cpp testunusedvar: Added simple testing for unused variables 2008-09-24 11:28:00 +00:00
todo.txt todo: added todo to simplify the token list further 2008-08-09 08:35:28 +00:00
tokenize.cpp Incomplete statement: Check for statements that begin with a constant 2008-09-20 17:34:37 +00:00
tokenize.h Checking for memory leaks. Changed the handling of comments about 2008-04-12 06:33:45 +00:00

readme.txt


=========
C++ check
=========



Compiling

  Any C++ compiler should work. 
  There are no dependencies.

  The Makefile works under Linux.
  To make it work under Windows, change "g++" to "gxx".

  I haven't been able to test it on other platforms.



Usage

  The syntax is:
      cppcheck [--all] [--style] [--recursive] [filename1] [filename2]

  The error messages will be printed to stderr.

  Example (Check all files. Use all checks):
      cppcheck -style --all --recursive


Recommendations

  Create a shell script that checks all files.
  See "checkproj.bat" for an example of how it can be done under Windows.

  When the "--all" flag is given you may get a lot of error messages.

  To dump the messages to a textfile you can use a command like this:
      cppcheck --all filename.cpp 2> messages.txt

  If you want to filter the messages you could use:
    * grep to filter out specific types of messages
    * diff to compare old messages with new messages. There are even GUIs for
      this.



Suggestions

  I'd like to get suggestions about new checks.



Author

  Daniel Marjamäki   (danielm77@spray.se)