pmccabe processes the named files, or standard input if none are named, calculating statistics including McCabe cyclomatic complexity for each function found. The files are expected to be either C (ANSI or K&R) or C++. pmccabe ignores all cpp preprocessor directives - calculating the complexity of the appearance of the code rather than the complexity after the preprocessor mangles the code. This is especially important since simple things like getchar(3) expand into macros which increase complexity.