色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

嵌入式Linux軟件開發:兩款閱讀源代碼的工具對比

strongerHuang ? 來源:Mculover666 ? 作者:mculover666 ? 2022-03-30 13:52 ? 次閱讀

嵌入式 Linux 軟件開發的時候,經常會閱讀大型工程源碼,比如 uboot 源代碼,Linux Kernel 源碼等。

所以,選擇一個合適的工具來閱讀源代碼,變為了一個經久不衰的話題。 閱讀源碼的時候,其實無非也就兩個重要的功能:

① 定義或者聲明快速跳轉

② 快速搜索指定內容

另外還有一些功能是和開發體驗相關的,比如:

① 工具的主題(亮色和暗色)

② 工具是否方便修改編輯內容

③ 工具是否還提供其它的方便功能

目前常用的就是 Source Insight 和 VS Code,下面就來按照上述需求進行對比,看看哪個更適合?

創建代碼工程

Source Insight 在閱讀工程代碼時,可以通過創建 Source Insight 工程來選擇哪些文件加入,哪些文件不加入。

對于 uboot 這種包含有大量板級文件夾的工程,加入之后其中的文件只和目前移植的這款處理器有關,這個功能是非常有優勢的,也是眾多工程師喜愛 Source Insight 的原因。

159b3f22-ac30-11ec-aa7f-dac502259ad0.png

相比之下,VS Code并不提供這種選擇加入的功能,VS Code 非常粗暴,文件夾就是工作區,只需要打開源碼文件夾,所有文件全部加入:

15aa8ab8-ac30-11ec-aa7f-dac502259ad0.png

相比之下,我覺得 Source Insight 勝出,VS Code 這種將所有文件一股腦全部加入的方式,在查找文件時非常麻煩。

文件架構

在 Source Insight 中,打開一個文件的時候,會列出當前文件中所有預處理、宏定義、變量、函數的架構,如圖:

15bd8b4a-ac30-11ec-aa7f-dac502259ad0.png

在 VS Code 中打開文件時也有同樣的功能,但又是一股腦的按照順序將所有函數聲明和定義列出,實際查看時也沒有什么太多作用:

15d68a14-ac30-11ec-aa7f-dac502259ad0.png

在文件整體架構方面,Source Insight 勝出,VS Code 對于代碼架構方面的顯示,還需要再優化。

定義跳轉功能

在 Source Insight 中,可以右鍵跳轉函數聲明或者直接按住 Ctrl 點擊函數名稱,如果定義有重復會先提示,供你選擇,如圖:

15f06308-ac30-11ec-aa7f-dac502259ad0.png

在 VScode 中,首先需要安裝 C/C++擴展,然后才支持定義跳轉,可以按住 Ctrl 鍵點擊或者右鍵跳轉:

1602db46-ac30-11ec-aa7f-dac502259ad0.png

如果有重復也會出現提示,選擇需要查看哪個定義。 在定義跳轉功能上,兩者持平,功能基本都夠用。

全局搜索指定內容

在 Source Insight 中,提供的搜索功能如下:

161490b6-ac30-11ec-aa7f-dac502259ad0.png

在 VS Code 中也提供了全局搜索的功能,但是由于它將所有文件都包含進來了,無用的搜索結果比較多:

16290f8c-ac30-11ec-aa7f-dac502259ad0.png

所以,在搜索功能上,由于 Source Insight 先天性的優勢,本輪勝出。

主題設置

閱讀源碼需要很長時間,所以提供一個舒服的主題也是很重要的。 Source Insight 提供的主題有:

16391f80-ac30-11ec-aa7f-dac502259ad0.png

VScode 提供的主題就非常棒了:

16449838-ac30-11ec-aa7f-dac502259ad0.png

Source Insight 提供的這些主題我覺得還行,但換出來感覺效果都比較怪,沒有那么舒服,相比之下 VS Code 的主題做的就比較好,無論亮色還是暗色看著都很舒服,對于我個人而言,本輪 VS Code 勝出。

其他功能

Source 除了我上述說的主要功能之外,還有非常多的功能,但我都沒怎么用過。 此處,我必須要說一下 VS Code,因為 Uboot 源碼需要在 linux 上編譯,但是我日常使用的系統是 Windows,所以我一般將 VSCode 安裝在 Windows 上,使用 VS Code 提供的遠程 SSH 功能,去連接遠程 Linux 主機,它會將遠程主機上的目錄直接作為工作區,另外還提供了集成終端,修改后直接在終端中編譯即可,如圖:

16637f3c-ac30-11ec-aa7f-dac502259ad0.jpg

另外,VSCode 內部集成了 git 可視化功能,可以方便的使用 git 管理代碼。 相比之外,Source Insight 在修改文件之后,還需要把修改的文件上傳到 Linux 服務器去編譯,過程有點繁瑣。 所以,在額外功能的擴展性上,我覺得 VScode 勝出。

總結

經過上述比較,我來說說我的體驗和看法:Source Insight 就像是一個老大哥,基本功很扎實,比如源碼查看,文件架構列表這些,很方便實用,在閱讀代碼的時候非常方便,但在開發時相對不太方便。對于它的文件選擇加入功能,其實我是不太喜歡的,這么龐大的源碼工程,既然我知道哪些文件有用,哪些文件沒用,那我還看啥呢?所以對初學者不太友好。而 VS Code 呢,就是一個年輕小伙,后起之秀,比如主題隨便換,可以遠程連接 Linux 主機進行開發,Git 可視化擴展等等,各種炫酷功能,但是基本功太不扎實,在閱讀源碼時的基礎功能沒做好,但是在開發時非常順手。

審核編輯:郭婷

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

    關注

    5085

    文章

    19138

    瀏覽量

    305695
  • Linux
    +關注

    關注

    87

    文章

    11312

    瀏覽量

    209701
收藏 人收藏

    評論

    相關推薦

    嵌入式工程師常用的開發工具有哪些?

    仿真器可以模擬復雜的微控制器和外設,幫助工程師在早期階段進行軟件開發和調試。這大大縮短了開發周期,降低了開發成本。 總之,嵌入式工程師需要熟練掌握這些
    發表于 12-20 15:29

    ZLG致遠電子與麒麟軟件攜手推出兩款銀河麒麟嵌入式工控機

    近日,ZLG致遠電子與國產操作系統龍頭企業麒麟軟件積極響應嵌入式產品國產化的大潮,共同推出了兩款重磅級的銀河麒麟嵌入式操作系統工控機產品。 這兩款
    的頭像 發表于 12-16 11:02 ?379次閱讀

    一文了解嵌入式軟件開發的對象

    以前應用場景很單一,嵌入式開發可能談不上面向對象開發。但現在,做嵌入式開發,沒有面向對象開發,你就有點落伍了。 本文結合個人經驗和周立功《抽象接口技術和組件
    的頭像 發表于 11-15 10:31 ?361次閱讀
    一文了解<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>的對象

    你認為嵌入式軟件開發的盡頭是什么?

    嵌入式軟件開發的“盡頭”是一個富有哲理且多維度的概念,因為它不僅關乎技術發展的極限,還涉及到行業應用、市場需求、技術融合與創新等多個方面。從幾個不同的視角來看
    的頭像 發表于 09-18 09:42 ?472次閱讀
    你認為<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>的盡頭是什么?

    EsDA,一站嵌入式軟件

    EsDA是一套面向工業智能物聯領域的嵌入式系統設計自動化工具集,包含實時操作系統AWorksLP、低代碼開發平臺AWStudio、資源管理平臺AXPI、跨平臺GUI引擎AWTK和云服務
    的頭像 發表于 09-15 08:10 ?301次閱讀
    EsDA,一站<b class='flag-5'>式</b><b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>

    嵌入式開發常用軟件有哪些?

    查看源代碼,注釋文檔等非常方便,因為它查找,定位,彩色顯示等功能非常強大。開發人員會當成源代碼閱讀工具使用。 4.Keil uVision5
    發表于 09-09 15:22

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是
    的頭像 發表于 09-02 09:11 ?508次閱讀

    嵌入式linux開發板怎么操作

    嵌入式Linux開發板是一種基于Linux操作系統的嵌入式系統開發平臺。它通常包括一個處理器、內
    的頭像 發表于 09-02 09:09 ?405次閱讀

    嵌入式linux開發板芯片的工作原理

    了處理器、存儲器、輸入/輸出接口等硬件資源的嵌入式系統開發平臺。它通常采用Linux操作系統作為底層軟件平臺,提供了豐富的開發工具和庫函數,
    的頭像 發表于 09-02 09:07 ?402次閱讀

    嵌入式軟件開發與AI整合

    嵌入式軟件開發與AI整合是當前技術發展的重要趨勢之一。隨著人工智能技術的快速發展,嵌入式系統越來越多地集成了AI算法,以實現更復雜的智能功能。以下是關于嵌入式
    的頭像 發表于 07-31 09:25 ?727次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>與AI整合

    好事成雙! 德承推出兩款精簡緊湊型嵌入式電腦,效能升級,應用更廣

    強固型嵌入式電腦品牌 – Cincoze 德承,強勢推出 Rugged Computing – DIAMOND 系列旗下兩款新精簡型嵌入式電腦。
    的頭像 發表于 06-03 15:28 ?223次閱讀
    好事成雙! 德承推出<b class='flag-5'>兩款</b>精簡緊湊型<b class='flag-5'>嵌入式</b>電腦,效能升級,應用更廣

    AMD Vitis? Embedded嵌入式軟件開發套件的功能和特性概述

    Vitis Embedded 是一獨立的嵌入式軟件開發套件,主要用于為 AMD 自適應 SoC 和 FPGA 中的 AMD 嵌入式處理子系統(基于 ARM 的子系統和 AMD Mic
    的頭像 發表于 04-08 10:50 ?935次閱讀
    AMD Vitis? Embedded<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>套件的功能和特性概述

    嵌入式軟件設計的原則分享

    嵌入式軟件開發如果具有更好的閱讀性、擴展性以及維護性,就需要考慮很多因素。今天給大家分享幾個嵌入式軟件設計的原則。
    發表于 02-25 10:54 ?697次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設計的原則分享

    嵌入式軟件開發應該掌握哪些知識?

    個部分組成,其中嵌入式軟件是指在嵌入式系統中運行的程序,用于控制硬件并提供特定的功能和服務。嵌入式軟件
    發表于 02-19 11:23

    嵌入式軟件開發軟件開發的區別

    嵌入式軟件開發軟件開發個不同的概念,它們在一些關鍵方面有著明顯的區別。嵌入式軟件開發是指
    的頭像 發表于 01-22 15:27 ?2328次閱讀
    主站蜘蛛池模板: 国产亚洲精品A久久777777| 暖暖视频免费高清在线观看 视频| 秋霞影院福利电影| 丰满大爆乳波霸奶| 亚洲 视频 在线 国产 精品| 精品国产mmd在线观看| 2012中文字幕在线动漫电影| 热热久久超碰精品中文字幕| 国产三级多多影院| 91夫妻交友论坛| 色狗av影院| 啦啦啦影院视频在线看高清...| 高h乱np甄宓| 午夜福利体验免费体验区| 好大快用力深一点h视频| 伊人网青青草| 日夜啪啪一区二区三区| 国产亚洲日韩欧美视频| 最新亚洲中文字幕在线观看| 色哒哒影院| 久久亚洲成a人片| 姑娘视频日本在线播放 | 年轻的母亲4线在线观看完整| 动漫美女被爆挤奶歪歪漫画| 亚洲一区二区三区高清网| 欧美内射AAAAAAXXXXX| 狠狠干2022| 国产 在线 亚洲 欧美 动漫| 怡红院美国分院一区二区 | 无人在线观看免费高清视频播放 | 欧美日韩一区在线观看| 国产亚洲日韩另类在线观看 | 91亚洲 欧美 国产 制服 动漫| 偷柏自拍亚洲综合在线| 嫩草影院在线观看精品视频| 狠狠色狠狠色综合日日32| 成年人视频在线免费播放| 伊人在线视频| 小玲被公扒开腿| 日本午夜视频在线| 妈妈的朋友6未删减版完整在线 |