在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

分享一款不錯的嵌入式靜態代碼掃描工具

strongerHuang ? 來源:嵌入式大雜燴 ? 2023-10-16 15:39 ? 次閱讀

轉自| 嵌入式大雜燴

之前給大家分享過嵌入式開發常用的代碼靜態分析工具,比如:PC-lint、LDRA、VectorCAST等。

今天再給大家分享一款不錯的嵌入式靜態代碼掃描工具。

靜態代碼掃描?

靜態代碼掃描是指無需運行被測代碼,通過詞法分析、語法分析、控制流、數據流分析等技術對程序代碼進行掃描,找出代碼隱藏的錯誤和缺陷,如參數不匹配,有歧義的嵌套語句,錯誤的遞歸,非法計算,可能出現的空指針引用等等。

同樣的,也有運行時診斷的工具,如Valgrind等。

往期博文:Valgrind仿真調試工具的使用

靜態代碼掃描工具有很多,主流如:

cppcheck。免費,開源,更新較慢,可自己拓展開發。

clang。免費,開源,更新較慢,可自己拓展開發。

TscanCode 。免費,有專人維護,定期根據用戶需求擴展規則或新增功能特性。

pclint。付費,商業軟件,難以進行功能擴展。

coverity。付費,商業軟件,難以進行功能擴展。

關于這幾個工具各個指標的詳細對比可參考文章:

本篇博文我們來介紹TscanCode。

TscanCode

TscanCode是騰訊研發的靜態代碼掃描工具,最早的版本是基于 cppcheck 二次開發。之后又重新自研,不僅支持 C/C++,還支持 C#,Lua 語言,在發掘 C/C++ 空指針、越界、未初始化、C#空引用、Lua變量未初始化等比較有效。

TscanCode 的 Github鏈接:

https://github.com/Tencent/TscanCode

b6d91d4a-6742-11ee-939d-92fbcf53809c.png

TscanCode 可編譯、運行于多個平臺:Windows/Linux/Mac。

TscanCode 主要能夠發現的問題如下:

自動變量檢查:返回自動變量(局部變量)指針;

越界檢查:數組越界返回自動變量(局部變量)指針;

類檢查:構造函數初始化;

內存泄露檢查;

空指針檢查;

廢棄函數檢查;

下載得到:

b6e290f0-6742-11ee-939d-92fbcf53809c.png

各文件夾的內容:

release文件夾:存放編譯后的二進制文件,包含有Linux、Mac、Windows平臺。

samples文件夾:存放一些代碼示例,分別有C++、C#、Lua語言。

trunk文件夾:存放TscanCode源代碼。

1、Linux下使用TscanCode

對應的Linux二進制文件存放在如下路徑:

TscanCode-master/release/linux/TscanCodeV2.14.2395.linux

b6ec4c30-6742-11ee-939d-92fbcf53809c.png

使用前需要加上執行權限:

chmod +x tscancode

例子:使用tscancode檢測samples文件夾下關于cpp的一些例子。

b6fd0566-6742-11ee-939d-92fbcf53809c.png

在TscanCode-master/release/linux/TscanCodeV2.14.2395.linux路徑下執行命令:

./tscancode --xml --enable=all -q ../../../samples/cpp/ >scan_result.xml 2>&1

得到掃描結果文件:scan_result.xml。該文件復制到Windows下使用表格工具打開可比較清晰地看到掃描結果:

b707e36e-6742-11ee-939d-92fbcf53809c.pngb716f782-6742-11ee-939d-92fbcf53809c.png

例子:使用tscancode檢測C語言例子。

在TscanCode-master/release/linux/TscanCodeV2.14.2395.linux路徑下新建一個文件:

test.c:

#include

voidtest(void)
{
charbuf[5]={0};

for(size_ti=0;i

掃描:

./tscancode --xml --enable=all -q ./test.c >scan_result.xml 2>&1

結果:

b71ae7e8-6742-11ee-939d-92fbcf53809c.png

2、Windows下使用TscanCode

最新版本的release下已經去掉windows下的可執行文件。可使用V2.14.24版本的TscanCodeV2.14.24.windows.exe。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5138

    文章

    19524

    瀏覽量

    314697
  • 開源
    +關注

    關注

    3

    文章

    3582

    瀏覽量

    43452
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74765
  • 代碼
    +關注

    關注

    30

    文章

    4886

    瀏覽量

    70232

原文標題:一款不錯嵌入式靜態代碼掃描工具

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    一款適合嵌入式工程師使用的在線工具

    一款適合嵌入式工程師使用的在線工具工具有如下功能,如下圖所示: 1. 報文校驗功能,如下圖所示 2. UDP服務端測試工具:該UD
    發表于 04-09 22:20

    一款基于Murphypinyin的嵌入式鍵盤設計

    本文根據手持終端的特點,設計出一款矩陣鍵盤,并在Linux平臺下開發出鍵盤的驅動程序。采用Qt/Embedded構建圖形界面,通過對Qt/Embedded自帶輸入法的分析,結合Murphpinyin中文輸入法軟件包,構建了一款可輸入數字、中/英文的
    發表于 04-28 06:50

    怎么設計一款ARM嵌入式汽車節能控制系統?

    ARM嵌入式汽車節能控制系統的工作原理是什么?怎么設計一款ARM嵌入式汽車節能控制系統?
    發表于 05-17 06:40

    分享一款不錯的基于nRF24E1的嵌入式2.4GHz無線接入系統

    分享一款不錯的基于nRF24E1的嵌入式2.4GHz無線接入系統
    發表于 05-27 06:06

    分享一款不錯的基于嵌入式Web Server的無線數據采集系統

    分享一款不錯的基于嵌入式Web Server的無線數據采集系統
    發表于 05-28 06:58

    如何從零開始開發一款嵌入式產品

    源:如何從零開始開發一款嵌入式產品原文地址:【轉】如何從零開始開發一款嵌入式產品作者:rainpad(20年的嵌入式經驗分享學習,來自STM
    發表于 08-09 08:09

    介紹一下一款簡單易用的嵌入式AI方案

    公司玩了大半年的嵌入式AI平臺,現在產品進入量產模式,也接觸了很多嵌入式方案,有了些心得體會,本人不才,在這里介紹一下一款簡單易用的嵌入式
    發表于 10-27 06:02

    怎樣挑選一款MCU平臺進行嵌入式系統開發

    如今,嵌入式系統開發往往基于平臺模式。MCU平臺包括MCU及其相關器件(外延器件、配套器件等),集成開發環境(開發板、開發工具、中間件等),以及操作系統等。半導體廠商在推出一款MCU新產品時,
    發表于 11-03 08:42

    推薦一款比較好的嵌入式開發板

    學習嵌入式,必不可少的工具就是塊開發板。對新手而言,學嵌入式用哪個開發板好,下面為大家推薦一款比較好的
    發表于 11-08 06:38

    如何快速上手一款新的嵌入式CPU芯片

    如何快速上手一款新的嵌入式CPU芯片(記錄CC2540開發經歷)最新要開發個藍牙的氛圍燈,網上找了好久,都沒找到合適的芯片。要么是TI或者nordic的純BLE,不帶播放音樂。要么是帶音頻又帶數據
    發表于 12-23 07:45

    怎樣去設計一款RK3399Pro嵌入式主機呢

    怎樣去設計一款RK3399Pro嵌入式主機呢?RK3399Pro嵌入式主機有哪些性能呢?
    發表于 02-10 07:00

    嵌入式系統開發中的靜態分析

      由于嵌入式系統行業的快速增長,嵌入式設備的代碼質量成為主要關注點之。考慮到嵌入式系統開發的特殊性(調試難度大、出錯成本高等),開發人員
    的頭像 發表于 11-21 14:51 ?1656次閱讀

    靜態分析工具

    Analyzer`:Clang Static Analyzer是一款靜態代碼掃描工具,專門用于針對C,C++和Objective-C的程序進
    的頭像 發表于 03-02 17:53 ?3056次閱讀
    <b class='flag-5'>靜態</b>分析<b class='flag-5'>工具</b>

    一款專業且全面的嵌入式開發調試工具

    不知道大家平時做嵌入式開發時用調試工具進行調試,今天給大家分享一款專業且全面的嵌入式調試工具集:Micro-Lab。
    的頭像 發表于 04-15 14:10 ?1433次閱讀

    推薦一款專業且全面的嵌入式開發調試工具

    今天給大家分享一款專業且全面的嵌入式調試工具集:Micro-Lab在工作中,以什么樣的方式向領導匯報工作最直接高效呢?當然是圖形界面!圖形界面更好表達個程序設計的邏輯思維,
    的頭像 發表于 04-20 10:00 ?1213次閱讀
    推薦<b class='flag-5'>一款</b>專業且全面的<b class='flag-5'>嵌入式</b>開發調試<b class='flag-5'>工具</b>
    主站蜘蛛池模板: 婷婷婷色 | 草草影院www色极品欧美 | 久久久精品波多野结衣 | 日本tv欧美tv天堂 | 嘿嘿嘿视频在线观看 | 色激情网| 成人网视频免费播放 | 97玖玖| 亚洲国产人久久久成人精品网站 | 夜夜爽天天干 | 天天夜夜爽| 午夜女同影院 | 国产精品推荐天天看天天爽 | 日本一区二区三区在线观看视频 | 1024毛片基地 | 国产真实乱偷人视频 | 久久99国产亚洲高清观看首页 | 日本级毛片免费观看 | 亚欧免费视频一区二区三区 | 日本视频三区 | 亚色网站 | av成人在线播放 | 亚洲日本视频 | 香蕉视频一级 | 美女网站黄在线看 | 手机免费看大片 | 日本高清视频网站www | 天天在线精品视频在线观看 | 欧美又粗又长又湿又黄的视频 | 久久免 | 天天色视频 | 亚洲国产精品乱码一区二区三区 | 丁香六月激情婷婷 | 奇米影视一区二区三区 | cao榴| 久久免费视频精品 | 国模极品一区二区三区 | www.色爱| 欧美五月激情 | 欧美同性精品xxxx | 在线天堂中文www官网 |