99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于PC-lint,以及如何在MDK中添加PC-lint工具

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-04 09:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有人問:代碼中類似/*lint !e750... */代表什么意思?

回答這個問題,就要牽涉到本文說的PC-Lint這個工具。

1寫在前面

可能有一定編程經(jīng)驗的朋友,應(yīng)該在一些地方都看到過類似/*lint !e750... */這種“注釋”。

但,有多少人去分析過它的含義呢?

比如:在FreeRTOS的tasks.c源碼中有如下一行語句:

#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE /*lint !e961 !e750. */

后面/*lint !e961 !e750. */作用就是:在使用PC-Lint工具進行靜態(tài)分析時,隱藏本行宏定義未被調(diào)用的“錯誤”。

換種方式理解:編譯時,這條語句不出現(xiàn)警告信息(注意:這里是比喻為編譯,其實是PC-Lint靜態(tài)分析)。

2

關(guān)于PC-Lint

PC-Lint 是GIMPEL SOFTWARE公司開發(fā)的C/C++軟件代碼靜態(tài)分析工具,它的全稱是PC-Lint/FlexeLint for C/C++。

你可以把它看作是一種更加嚴(yán)格的編譯器。它除了可以檢查出一般的語法錯誤外,還可以檢查出那些雖然符合語法要求,但很可能是潛在的、不易發(fā)現(xiàn)的錯誤。

C語言的靈活性帶來了代碼效率的提升,但相應(yīng)帶來了代碼編寫的隨意性,另外C編譯器不進行強制類型檢查,也帶來了代碼編寫的隱患。

PC-Lint識別并報告C語言中的編程陷阱和格式缺陷的發(fā)生。它進行程序的全局分析,能識別沒有被適當(dāng)檢驗的數(shù)組下標(biāo),報告未被初始化的變量,警告使用空指針,冗余的代碼等。

軟件除錯是軟件項目開發(fā)成本和延誤的主要因素,PC-lint能夠幫你在程序動態(tài)測試之前發(fā)現(xiàn)編碼錯誤,這樣消除錯誤的成本更低。

錯誤號

PC-Lint 能夠檢查出很多語法錯誤和語法上正確的邏輯錯誤,PC-Lint 為大部分錯誤消息都分配了一個錯誤號:

這些錯誤號在文檔中有詳細(xì)說明:

命令格式:

更多相關(guān)內(nèi)容可以參考官網(wǎng):

www.gimpel.com

3

Keil支持PC-Lint說明

在Keil官網(wǎng)有這樣一段信息:

X 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.

A C compiler cannot always detect each and every potential problem in your source files.

This is where PC-Lint comes in.

Supports K&R C, ANSI C, and ANSI/ISO C++ standards

Explicit support for MISRA C and MISRA C++ (Motor Industry Software Reliability Association) standards

Value tracking of auto and static variables detects subtle initialization and value misuse problems

Inter-function Value Tracking - powerful inter-statement value tracking crosses function boundaries

Optional strong type checking (typedef-based) with a rich option set to detect nominal type differences

User-defined semantic checking for function arguments and return values

Each of the Keil development tools, ARM, C51, C251, and C166, support Gimpel Software's PC-Lint. Configuration files are included in the Keil development tools which enable you to quickly and easily begin using PC-Lint in your application development and testing.

http://www.keil.com/pclint

大概意思就是Keil(ARM, C51, C251, and C166)支持PC-Lint,配置文件包含在Keil開發(fā)工具中,使您能夠在應(yīng)用程序開發(fā)和測試中快速輕松地開始使用PC-Lint。

還提供了一個例子:

示例代碼:

C51編譯輸出結(jié)果:

執(zhí)行PC-Lint輸出:

示例程序列表(錯誤以突出顯示),C51編譯器輸出和PC-Lint輸出。當(dāng)PC-Lint檢測到并報告26個錯誤和警告時,C51編譯器會檢測并報告12個錯誤和警告。

4

MDK中添加PC-Lint

要使用PC-Lint,大概需要以下兩步:

安裝PC-Lint

MDK添加PC-Lint


1.安裝PC-Lint

PC-Lint是一款收費的工具,大家可以網(wǎng)上搜索相關(guān)po解版本,相關(guān)安裝很簡單,這里不說明。

2.MDK添加PC-Lint

在MDK的幫助文檔中,有相關(guān)添加和配置說明,我這里也簡單說下。

A.菜單Tools ->Set-up PC-lint進入配置界面(如上圖)

B.添加lint-nt.exe

前提需要安裝PC-Lint,指向安裝路徑下的lint-nt.exe。點擊“...”即可添加(標(biāo)記1)。

C.添加co-ARMCC-5.lnt

這個路徑是MDK安裝目錄下面,可參看上圖(標(biāo)記2)。

D.MISRA規(guī)則配置

這里參看幫助文檔,選擇MISRA_C_2012_Config(標(biāo)記3)。

E.增加PC-Lint命令

例如,要禁止PC-lint輸出的info 714消息,可以在此對話框中輸入-e714 (標(biāo)記4)。

當(dāng)然,本文重點在于引導(dǎo)大家了解PC-Lint這個工具,想要運用PC-lint這個工具,還需要掌握更多相關(guān)規(guī)則、配置。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141607
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70678
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    211

    瀏覽量

    32677
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    PC985/PC989/PC993微功耗推挽輸出差分比較器中文手冊

    PC985、PC989和PC993分別是單通道、雙通道和四通道推挽輸出比較器電路,具有快速響應(yīng)低功耗、軌到軌輸入、低偏移電壓和高輸出驅(qū)動電流等特性,可應(yīng)用于檢測設(shè)備、測試和測量、高速采樣系統(tǒng)等。
    發(fā)表于 05-22 18:17 ?0次下載

    PC1405/PC1407/PC1410高精度電壓基準(zhǔn)數(shù)據(jù)手冊

    支持高達 10mA?的雙向負(fù)載電流。 PC1405/PC1407/PC1410 采用專利電路技術(shù)以及電阻微調(diào),可實現(xiàn)最大 3ppm/℃?的極低溫漂特性。
    發(fā)表于 05-08 14:57 ?0次下載

    RFID技術(shù)在PC組件供應(yīng)鏈管理的應(yīng)用

    岳冉基于RFID技術(shù)的PC組件供應(yīng)鏈管理解決方案,該方案通過為PC組件粘貼RFID標(biāo)簽,并利用RFID讀寫器進行信息讀取和傳輸,實現(xiàn)了對PC組件從生產(chǎn)、倉儲、物流到銷售等供應(yīng)鏈各個環(huán)節(jié)的實時監(jiān)控和管理。
    的頭像 發(fā)表于 02-06 15:48 ?447次閱讀
    RFID技術(shù)在<b class='flag-5'>PC</b>組件供應(yīng)鏈管理<b class='flag-5'>中</b>的應(yīng)用

    中科創(chuàng)達旗下創(chuàng)通聯(lián)達推出四款A(yù)I Mini PC參考設(shè)計

    G1 IoT以及AI Mini PC G1 IoT Fanless,旨在助力行業(yè)客戶快速打造面向個人AI PC消費市場和工業(yè)場景的創(chuàng)新性產(chǎn)品。
    的頭像 發(fā)表于 01-06 10:33 ?1326次閱讀

    簡述Arm PC生態(tài)新進展

    2024 年對于 PC 行業(yè)而言,是意義非凡的一年。AI PC 的快速崛起激發(fā)了新一代筆記本電腦解決方案性能與效率的顯著飛躍,這推動了 PC 行業(yè)的復(fù)蘇與增長。AI PC 是一種具備人
    的頭像 發(fā)表于 12-23 09:17 ?815次閱讀

    英諾達推出兩款全新靜態(tài)驗證EDA工具

    (2024年12月5日,四川成都)英諾達(成都)電子科技有限公司隆重推出兩款全新的靜態(tài)驗證EDA工具:EnAltiusCDC跨域檢查工具Lint RTL代碼檢查工具。這兩款
    的頭像 發(fā)表于 12-05 10:13 ?1082次閱讀
    英諾達推出兩款全新靜態(tài)驗證EDA<b class='flag-5'>工具</b>

    AI PC的崛起

    看到PC“超級周期”的開始。AI PC具有專門的SoC,每秒能夠提供40至60兆次操作(TOPS)的神經(jīng)處理單元(NPU),有望帶來技術(shù)創(chuàng)新的巨大變化。與依賴CPU和GPU的傳統(tǒng)PC不同,AI
    的頭像 發(fā)表于 11-14 11:06 ?842次閱讀

    移遠(yuǎn)通信亮相驍龍AI PC生態(tài)科技日,以領(lǐng)先的5G及Wi-Fi產(chǎn)品革新PC用戶體驗

    PC作為人們學(xué)習(xí)、辦公、娛樂的重要工具,已經(jīng)深度融入我們的工作和生活。隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,以及人們對PC性能要求的逐步提高,AI PC
    發(fā)表于 11-08 11:26 ?321次閱讀
    移遠(yuǎn)通信亮相驍龍AI <b class='flag-5'>PC</b>生態(tài)科技日,以領(lǐng)先的5G及Wi-Fi產(chǎn)品革新<b class='flag-5'>PC</b>用戶體驗

    移遠(yuǎn)通信亮相驍龍AI PC生態(tài)科技日,以領(lǐng)先的5G及Wi-Fi產(chǎn)品革新PC用戶體驗

    PC作為人們學(xué)習(xí)、辦公、娛樂的重要工具,已經(jīng)深度融入我們的工作和生活。隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,以及人們對PC性能要求的逐步提高,AIPC成為了行業(yè)發(fā)展的重要趨勢。11月7-8日,驍龍
    的頭像 發(fā)表于 11-08 01:06 ?710次閱讀
    移遠(yuǎn)通信亮相驍龍AI <b class='flag-5'>PC</b>生態(tài)科技日,以領(lǐng)先的5G及Wi-Fi產(chǎn)品革新<b class='flag-5'>PC</b>用戶體驗

    Gartner預(yù)測:2025年全球AI PC出貨量將占比PC總出貨量43%

    。   Gartner對AI PC的定義為搭載了嵌入式神經(jīng)處理單元(NPU)的個人電腦,并基于這一定義進行了相關(guān)預(yù)測。AI PC的范圍涵蓋了在Windows on Arm、macOS on Arm以及x86 on Wind
    的頭像 發(fā)表于 10-15 15:23 ?1814次閱讀

    PC示波器:電子測試與測量的革命性工具

    這一領(lǐng)域帶來了革命性的變化。 PC示波器通過將多個測試儀器集成在一個小型裝置,實現(xiàn)了前所未有的輕便與便攜。與傳統(tǒng)示波器相比,PC示波器不僅重量更輕、體積更小,而且當(dāng)與筆記本電腦配合使用時,它幾乎成為了一個隨身攜帶的完整
    的頭像 發(fā)表于 10-09 10:46 ?694次閱讀

    何在ADS添加OPA380的Pspice model?

    請教,如何在ADS添加OPA380的Pspice model
    發(fā)表于 09-14 07:20

    2026年AI PC市場將占Windows PC半壁江山

     根據(jù)最新市場研究機構(gòu)Canalys的權(quán)威預(yù)測,人工智能(AI)個人電腦(PC)在Windows PC市場的滲透率正經(jīng)歷前所未有的飛躍。該機構(gòu)預(yù)計,從當(dāng)前的不足10%起步,AI PC的市場份額將在
    的頭像 發(fā)表于 09-06 16:09 ?1215次閱讀

    Lint靜態(tài)驗證工具如何助力IC設(shè)計

    近年來IC設(shè)計的規(guī)模和復(fù)雜度不斷增大,產(chǎn)品的迭代周期越來越短,傳統(tǒng)的驗證方式已經(jīng)難以滿足設(shè)計團隊的要求。在“設(shè)計左移”這一理念的趨勢下,設(shè)計流程和方法學(xué)不斷進行創(chuàng)新和優(yōu)化,其中,具備“設(shè)計左移”思想的靜態(tài)驗證方法實現(xiàn)了將原本在仿真、綜合、布局布線階段出現(xiàn)的問題移動到RTL階段進行檢測和分析,幫助IC設(shè)計者在早期發(fā)現(xiàn)和診斷設(shè)計缺陷,縮短芯片整體開發(fā)周期,降低成本。
    的頭像 發(fā)表于 09-03 10:15 ?1784次閱讀
    <b class='flag-5'>Lint</b>靜態(tài)驗證<b class='flag-5'>工具</b>如何助力IC設(shè)計