Your location:Home>编译器 安装程序制作>编译器

PC-lint for C/C++

PC-lint for C/C++ Features

PC-lint is a powerful static analysis tool that will check your C/C++ source code and find bugs, glitches, inconsistencies, non-portable constructs, redundant code, and much more. It looks across multiple modules, and so, enjoys a perspective your compiler does not have.

Platforms:

PC-lint for C/C++:

Windows 10 / 8 / 7 / Vista / XP / NT / 2000 / 98 / ME

Compatibility:

supports K&R C, ANSI C, ANSI/ISO C++

explicit support for Microsoft, GCC and most other major compilers and libraries

support for most major embedded-system compilers including bit addressing.

numerous options to support rogue compilers

scalars sizes can be specified for cross-compiling

Special Checking Facilities:

value tracking of auto and static (even global) variable, to detect subtle initialization and value misuse problems

Inter-function Value Tracking -- The powerful inter-statement value tracking crosses function boundaries. Functions called with specific values are later processed, with these values used to initialize parameters.

Multi-Pass -- To take full advantage of inter-function tracking and static variable tracking, a multi-pass operation has been introduced.  The user can control the number of passes. (See Designer's Notes)

with value tracking as an enabling technology, we support 憇emantics? checking for almost 100 library functions, this checking can be extended to user functions (see function mimicry)

optional strong type checking (typedef-based) with a rich option set to detect nominal type differences. You can even form a fully checked type hierarchy of scalar types using only typedef

user-defined semantic checking for function arguments and return values

find unused macros, typedef's, classes, members, declarations, etc. across the entire project (see weak definials)

checks flow of control for possibly uninitialized variables.

explicit support for a subset of the MISRA C and MISRA C++ (TM) (Motor Industry Software Reliability Association) standards

other special torture tests

Speed:

Multiple modules are processed at high speed using pre-compiled headers

Message Suppression and Enabling:

by message number

by message number and symbol name (including wild cards)

by message number and symbol type

by message number and message parameter

one-line suppression

by macro name

for library headers, by message number (a header is library depending on how it is included; this can be overridden via user options)

for specified functions, by message number

for expressions

Flexibility:

indirect files (nested to any depth) can contain filenames, options, environment variables

format of lint error messages can be customized to support integration with a wide variety of editors and IDEs

all options can be embedded in user code

Performance:

fast one-pass operation,  with a multi-pass option for inter-function value tracking

robust - tables will expand as needed to handle large applications

 

北京哲想软件有限公司