91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

關于PC-lint,以及如何在MDK中添加PC-lint工具

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

掃碼添加小助手

加入工程師交流群

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

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

1寫在前面

可能有一定編程經(jī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

關于PC-Lint

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

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

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

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

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

錯誤號

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

這些錯誤號在文檔中有詳細說明:

命令格式:

更多相關內(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ā)工具中,使您能夠在應用程序開發(fā)和測試中快速輕松地開始使用PC-Lint。

還提供了一個例子:

示例代碼:

C51編譯輸出結果:

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

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

4

MDK中添加PC-Lint

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

安裝PC-Lint

MDK添加PC-Lint


1.安裝PC-Lint

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

2.MDK添加PC-Lint

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

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

B.添加lint-nt.exe

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

C.添加co-ARMCC-5.lnt

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

D.MISRA規(guī)則配置

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

E.增加PC-Lint命令

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

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

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

    關注

    183

    文章

    7644

    瀏覽量

    145650
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    74009
  • MDK
    MDK
    +關注

    關注

    4

    文章

    211

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國產(chǎn)連接器如何抓住AI PC賽道紅利?

    當大模型推理從云端降落到桌面,AI PC成為了科技硬件的“流量主角”。英偉達的算力、英特爾的芯片、聯(lián)想的整機,無一不被置于聚光燈下。但在這些動輒千億產(chǎn)值的巨頭身后,一場關于硬件底層架構的革命正悄然
    的頭像 發(fā)表于 03-04 10:03 ?127次閱讀
    國產(chǎn)連接器如何抓住AI <b class='flag-5'>PC</b>賽道紅利?

    pc817光耦主要參數(shù)表

    在電子設計領域,沒有一個元件是微不足道的。即使在最普通的開關電源,那些看似不起眼的光電耦合器,也承擔著確保安全、減少干擾的重任。今天聊聊一款經(jīng)典的光耦器件——PC817。無論你是電源工程師
    的頭像 發(fā)表于 01-03 09:07 ?1180次閱讀
    <b class='flag-5'>pc</b>817光耦主要參數(shù)表

    TL431 與 PC817 應用

    TL431 與 PC817 應用
    的頭像 發(fā)表于 12-17 08:02 ?928次閱讀

    為什么單片機很少使用malloc,而PC程序頻繁使用呢?

    ,因此,開發(fā)者傾向于使用更為簡單的內(nèi)存管理方式,這樣可以減少調(diào)試和測試的工作量,提高系統(tǒng)的可靠性。 PCPC上的程序開發(fā)往往有更強的開發(fā)框架和工具支持,開發(fā)者可以更加靈活地使用動態(tài)內(nèi)存分配來簡化代碼結構。操作系統(tǒng)提供的內(nèi)存管理
    發(fā)表于 11-20 06:55

    PC電源管理芯片 KA3511英文資料

    PC電源管理芯片 KA3511資料 PWM IC KA3511
    發(fā)表于 09-03 16:28 ?0次下載

    AIWA P20 PC20 維修手冊

    AIWA P20 PC20 維修手冊
    發(fā)表于 06-09 15:06 ?6次下載

    AI PC內(nèi)存升級,這顆DDR5 PMIC一馬當先

    電子發(fā)燒友網(wǎng)報道(文/黃晶晶)根據(jù)IDC預計,AI PC的出貨量將從當前的約5000萬臺,增長至2027年的超過1.67億臺。屆時,AI PC在全球PC總出貨量的占比將達到約60%。
    的頭像 發(fā)表于 05-29 09:11 ?8421次閱讀
    AI <b class='flag-5'>PC</b>內(nèi)存升級,這顆DDR5 PMIC一馬當先

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

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

    高通驍龍正在成為PC出色動力的核心

    一年前搭載開創(chuàng)性驍龍X系列平臺的設備開始面市。如今,驍龍正在成為PC出色動力的核心。高通公司總裁兼CEO安蒙在COMPUTEX 2025上發(fā)表主題演講,重點闡釋了高通技術公司在重新定義PC格局進程的強勁勢頭,并展望了未來的創(chuàng)新
    的頭像 發(fā)表于 05-21 17:33 ?1392次閱讀

    何在Visual Studio 2022運行FX3吞吐量基準測試工具?

    我正在嘗試運行 John Hyde 的書“SuperSpeed by Design”的 FX3 吞吐量基準測試工具。 但是,我面臨一些困難,希望得到任何指導。 具體來說,我正在使用 Visual
    發(fā)表于 05-13 08:05

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

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

    是否可以通過3014將數(shù)據(jù)從pc傳輸?shù)紽PGA?

    我正在設計一個系統(tǒng),通過 USB 3.0 將圖片數(shù)據(jù)從 PC 下載到 FPGA,然后 FPGA 在 LCD 上顯示圖像。 我需要一種方法讓 FPGA 將狀態(tài)(下載了多少圖像以及 LCD 上顯示了
    發(fā)表于 05-08 06:56

    基于TL431和PC817的典型應用電路

    開關電源的穩(wěn)壓反饋通常都使用TL431和PC817,如輸出電壓要求不高,也可以使用穩(wěn)壓二極管和PC817。
    的頭像 發(fā)表于 04-17 11:15 ?1.9w次閱讀
    基于TL431和<b class='flag-5'>PC</b>817的典型應用電路

    PC212線性恒流LED驅(qū)動芯片中文手冊

    PC212系列產(chǎn)品是用于產(chǎn)生雙通道、高精度恒流源的?LED 驅(qū)動芯片,在需要調(diào)光調(diào)色的?LED 照明產(chǎn)品簡單易用。PC212?具有寬輸入電壓范圍、高輸出精度、 超低?drop-out?壓降、卓越
    發(fā)表于 03-28 18:07 ?4次下載

    AI PC浪潮將至!三大存儲廠商齊發(fā)新品,加速大模型端側落地

    電子發(fā)燒友原創(chuàng) 章鷹 3月12日,MemoryS 2025峰會在深圳成功舉行,CFM閃存市場總經(jīng)理邰煒表示,AI PC作為主力的生產(chǎn)力工具,2025年落地更顯快速,今年我們預計AI PC相比去年將有
    的頭像 發(fā)表于 03-14 00:05 ?3166次閱讀
    AI <b class='flag-5'>PC</b>浪潮將至!三大存儲廠商齊發(fā)新品,加速大模型端側落地