|LintProject Professional - Code analysis with HTML reporting|
LintProject Pro has now been superseded by Visual Lint Build Server Edition, and new LintProject Pro licences are no longer available. Please see the blogpost LintProject Pro End of Life Notice for support and upgrade details.
LintProject Professional is a command line product intended to make the process of using static code analysis tools with C/C++ projects a little easier and more productive. It replaces the previous LintProject tool, extending greatly the level of detail included in the generated reports and providing far greater compatibility with C/C++ project files.
LintProject Professional uses third party static code analysis tools (Gimpel PC-lint or CppCheck) to perform the analysis. As such, you will need a valid PC-lint or CppCheck licence and installation in order to be able to use this software. Unfortunately we are currently unable to include these in the trial download as they are supplied by third party vendors.
PC-lint analyses C++ code to identify potential problems. By comparison with a C++ compiler such as that provided with Visual C++, it is highly customisable and very thorough, but (understandably) significantly slower.
Introducing LintProject Professional
LintProject Professional was written to address two of these issues. Unlike PC-lint, LintProject
Professional can read both project and solution/workspace files.
Please see the FAQ topic "Which solution, workspace and project file types is LintProject Professional compatible with? " is full details of supported solution, workspace and project file types.
Whilst the availability of text files containing the results of the analysis is an essential result of the process, without a means of summarising their contents and indexing them the process of interpreting the results is likely to be slow and laborious.
A key design aim of LintProject
Professional was to be capable of indicating its process whilst it runs. This is especially important when you consider that a PC-lint analysis of a large project can take some considerable time on some systems. To achieve this aim, the output reports produced by LintProject
Professional are automatically regenerated as the analysis progresses.
* At present this feature is limited to Internet Explorer and derived browsers such as Crazy Browser, Avant browser etc..
Using LintProject Professional
Once installed a LintProject Professional command prompt can be easily run from the supplied shortcut which temporarily adds the path of the installation directory to the system path. The /folder switch can then be used to tell it where to find the PC-lint executable.
LintProject Professional is invoked by a simple command line, for example:
LintProjectPro <ProjectName.vcproj/dsp> <ResultsFolder> [options]
a number of additional options, for example:
Specifies the analysis tool to use.
Specifies the location of the PC-lint installation folder.
Specifies the filename of the lint indirect file to use. If omitted, std.lnt is assumed.
Specifies the solution configuration to be analysed. Similarly, /config? will list the available configurations.
Saves the current PC-int installation folder settings to the registry so that /toolfolder and /configfile can be omitted next time LintProject Professional is run).
Specifies that the HTML report should be automatically opened in a browser window when analysis starts.
Passes the following parameters to the analysis tool. For example, /param" -background" will instruct PC-lint to perform analysis at a low priority.
Display help information
If you find LintProject Professional to be useful, we encourage you to take a look at Visual Lint - Riverblade's solution for developers who require close integration of static code analysis tools such as PC-lint within Microsoft Visual Studio and Eclipse.
In addition to the report generation capabilities offered by LintProject Professional, Visual Lint also offers features such as background analysis of source files and the ability to double click on an analysis issue and open the corresponding line in the code editor.
It can also analyse from the command line, using an interface very similar to LintProject Professional.
"I don't even have pc-lint yet, and the only thing I actually know about it is from reading the ads for it in C++ Users Journal. But thanks to your article, I plan on purchasing a copy in the next few days! Thanks!!"
- Comment posted on the original LintProject article on
The Code Project