Friday, July 1, 2016

Getting Started with PC-Lint in MPLAB-X

PC-lint is a commercial software linting tool produced by Gimpel Software for the C/C++ languages.


PC-lint is a command-line tool for performing static code analysis, indicating suspicious or plain wrong issues in source code. PC-lint can be integrated into IDEs as an external tool, and the format of the warning messages can be adapted to the form the IDE is able to recognize and process. It is advertised as running on Microsoft Windows and OS/2. A separate multi-platform version called FlexeLint is also available for Unix and other platforms, albeit at substantially greater cost.

PC-lint can be used for quality assurance of C source code and checking the code for conformance to coding guidelines such as MISRA C or MISRA C++.

It also includes checks for problems unique to parallel programs built on POSIX threads.

PC-lint for C/C++ was first introduced in 1985. It will thoroughly check your C/C++ source code for bugs, glitches, inconsistencies, non-portable constructs, and much more, so you can find and fix your bugs more quickly, and more economically, than with traditional debugging procedures
PC-lint for C/C++ runs on Microsoft Windows

FlexeLint for C/C++ The demand for PC-lint checking for non-Windows development led to the introduction of FlexeLint in 1988. FlexeLint is distributed as shrouded C source code, to make the capabilities of PC-lint available wherever there is a C compiler to compile it.
FlexeLint for C/C++ runs on all systems that support a C compiler, including all variants of UNIX.


The following video shows how to use PC-Lint with MPLAB-X:


NOTE: PC-Lint Plugin is not working with current version of MPLAB-X version 3.35, looks like this is a bug and hopefully will get fixed in next release of MPLAB-X.

2 comments:

  1. Bug of the month: taking the baton from PC-Lint to PVS-Studio - https://www.viva64.com/en/b/0490/

    ReplyDelete
    Replies
    1. Intresting.
      Thanks for sharing, definitely worth considering.

      Delete