McCabe-style function complexity and line counting for C and C++
DescriptionPmccabe calculates McCabe-style cyclomatic complexity for C and C++ source code. Per-function complexity may be used for spotting likely trouble spots and for estimating testing effort. Pmccabe also includes a non-commented line counter compatible with anac, 'decomment' which only removes comments from source code; 'codechanges', a program to calculate the amount of change which has occurred between two source trees or files; and 'vifn', to invoke 'vi' given a function name rather than a file name. Pmccabe attempts to calculate the apparent complexity rather than the complexity following the C++ and/or cpp preprocessors. This causes Pmccabe to become confused with cpp constructs which cause unmatched curly braces - most of which can profitably be rewritten so they won't confuse prettyprinters anyway. Pmccabe prints C-compiler-style error messages when the parser gets confused so they may be browsed with standard tools. Two types of cyclomatic complexity are generated - one type counts each switch() statement as regardless of the number of cases included and the other more traditional measure counts each case within the switch(). Pmccabe also calculates the starting line for each function, the number of lines consumed by the function, and the number of C statements within the function.
Upload new screenshots
Thanks for uploading more screenshots. Please note:
- Your screenshot should contain a typical scene when working with it.
- Take only a screenshot of the respective application and not of your whole desktop (unless the screenshot is meant for a window manager).
- Your screenshots must be in PNG format.
- You can upload multiple images at once.
- Your screenshot need to be approved by the moderators first. You will already see your screenshot but it will not be visible to others instantly. If moderators reject your upload you will get notified next time you visit this site (requires cookies).
- Images larger than 800x600 pixels will automatically be reduced. So don't try to capture too much detail in a screenshot. It may become unreadable. Shrink the applications window if possible.
- Screenshots are made public and can freely be used by anyone.
- Useful programs for making screenshots are shutter, ksnapshot (KDE), gimp, xwd or scrot. See the Debian wiki for more information on how to make screenshots under Debian.
- Please set your language to english so that everybody understands it. If you don't use english by default please start your application from a shell using after setting "export LANG=C".