設計和開發語言‎ > ‎C/C++‎ > ‎

PC-lint for C/C++

張貼者:2010年9月6日 上午12:04未知的使用者   [ service orderble 已於 2012年8月8日 上午2:50 更新 ]
PC-lint是功能強大的靜態analsis工具將檢查你的C / C + +源代碼,發現錯誤,毛刺,不一致,非便攜式結構,冗餘代碼,等等。


開發商:Gimpel Software
原廠網址:http://www.gimpel.com/html/lintspec.htm
更新日期:2011/05/29
採購正式版、大量授權報價、技術支援、軟體諮詢、委託採購、詢問報價請來電 02-29299388 分機16 , 
來信service@orderble.com,或點我
-----------------------------------------------------------------------------



兼容性:

  • 支持K&R的ć,ANSI C語言的ANSI /的ISO C + +
  • 明確支持微軟,海灣合作委員會和大部分其他主要的編譯器和庫
  • 支持大多數主要的嵌入式系統的編譯器包括位尋址。
  • 許多編譯器選項來支持流氓
  • 標量的大小可以指定交叉編譯

特殊檢查設備:

  • 價值跟踪 汽車和靜態(甚至全球)變量,初始化和檢測微妙的價值濫用問題
  • 跨功能價值追踪-功能強大的跨聲明價值跟踪跨越功能邊界。 函數調用後處理的具體值,這些值用於初始化參數。
  • 多通-要充分利用跨功能跟踪和靜態變量跟踪,多通的運作已全面推出。用戶可以控制的數量通行證。 (見 設計師的筆記
  • 與 價值跟踪 作為一個有利的技術,我們支持emantics檢查了近100個庫函數,這個檢查可以擴展到用戶的功能(見 函數模仿
  • 可選的 強類型檢查 (類型定義為基礎)擁有豐富的選項設置來檢測名義類型的差異。 你甚至可以形成一個全面檢查類型層次結構的標量類型只使用 的typedef
  • 用戶定義的語義檢查 的函數參數和返回值
  • 發現未使用的宏, 類型定義的,類,成員,聲明等 整個項目(見 弱definials
  • 檢查流量控制 可能未初始化的 變量。
  • 明確支持的一個子集的MISRA C和的MISRA C + +(TM)公司(汽車工業軟件可靠性協會)標準
  • 其他特殊酷刑測試

速度:

  • 多個模塊處理高速使用預編譯頭

制止和啟用的消息:

  • 通過消息號
  • 通過信息數字和符號的名稱(包括外卡)
  • 通過信息數字和符號類型
  • 通過消息和消息參數數目
  • 1線壓制
  • 由宏名稱
  • 圖書館頭,通過郵件編號(1頭是圖書館取決於它是如何包括在內,這可以通過用戶的選擇被覆蓋)
  • 對指定的功能,通過郵件編號
  • 的表達式

靈活性:

  • 間接文件(嵌套任意深度)可以包含文件名,選擇權,環境變量
  • 格式皮棉錯誤消息可以被定制,以支持一體化,各種各樣的編輯器和IDE
  • 所有的選項可以嵌入用戶代碼

性能:

  • 快一通,聯同多間傳遞選項,函數值跟踪
  • 強勁 - 表將根據需要擴大,以處理大型應用










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