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

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

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

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

嵌入式Linux軟件開(kāi)發(fā):兩款閱讀源代碼的工具對(duì)比

strongerHuang ? 來(lái)源:Mculover666 ? 作者:mculover666 ? 2022-03-30 13:52 ? 次閱讀

嵌入式 Linux 軟件開(kāi)發(fā)的時(shí)候,經(jīng)常會(huì)閱讀大型工程源碼,比如 uboot 源代碼,Linux Kernel 源碼等。

所以,選擇一個(gè)合適的工具來(lái)閱讀源代碼,變?yōu)榱艘粋€(gè)經(jīng)久不衰的話題。 閱讀源碼的時(shí)候,其實(shí)無(wú)非也就兩個(gè)重要的功能:

① 定義或者聲明快速跳轉(zhuǎn)

② 快速搜索指定內(nèi)容

另外還有一些功能是和開(kāi)發(fā)體驗(yàn)相關(guān)的,比如:

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

② 工具是否方便修改編輯內(nèi)容

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

目前常用的就是 Source Insight 和 VS Code,下面就來(lái)按照上述需求進(jìn)行對(duì)比,看看哪個(gè)更適合?

創(chuàng)建代碼工程

Source Insight 在閱讀工程代碼時(shí),可以通過(guò)創(chuàng)建 Source Insight 工程來(lái)選擇哪些文件加入,哪些文件不加入。

對(duì)于 uboot 這種包含有大量板級(jí)文件夾的工程,加入之后其中的文件只和目前移植的這款處理器有關(guān),這個(gè)功能是非常有優(yōu)勢(shì)的,也是眾多工程師喜愛(ài) Source Insight 的原因。

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

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

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

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

文件架構(gòu)

在 Source Insight 中,打開(kāi)一個(gè)文件的時(shí)候,會(huì)列出當(dāng)前文件中所有預(yù)處理、宏定義、變量、函數(shù)的架構(gòu),如圖:

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

在 VS Code 中打開(kāi)文件時(shí)也有同樣的功能,但又是一股腦的按照順序?qū)⑺泻瘮?shù)聲明和定義列出,實(shí)際查看時(shí)也沒(méi)有什么太多作用:

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

在文件整體架構(gòu)方面,Source Insight 勝出,VS Code 對(duì)于代碼架構(gòu)方面的顯示,還需要再優(yōu)化。

定義跳轉(zhuǎn)功能

在 Source Insight 中,可以右鍵跳轉(zhuǎn)函數(shù)聲明或者直接按住 Ctrl 點(diǎn)擊函數(shù)名稱,如果定義有重復(fù)會(huì)先提示,供你選擇,如圖:

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

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

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

如果有重復(fù)也會(huì)出現(xiàn)提示,選擇需要查看哪個(gè)定義。 在定義跳轉(zhuǎn)功能上,兩者持平,功能基本都?jí)蛴谩?/p>

全局搜索指定內(nèi)容

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

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

在 VS Code 中也提供了全局搜索的功能,但是由于它將所有文件都包含進(jìn)來(lái)了,無(wú)用的搜索結(jié)果比較多:

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

所以,在搜索功能上,由于 Source Insight 先天性的優(yōu)勢(shì),本輪勝出。

主題設(shè)置

閱讀源碼需要很長(zhǎng)時(shí)間,所以提供一個(gè)舒服的主題也是很重要的。 Source Insight 提供的主題有:

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

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

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

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

其他功能

Source 除了我上述說(shuō)的主要功能之外,還有非常多的功能,但我都沒(méi)怎么用過(guò)。 此處,我必須要說(shuō)一下 VS Code,因?yàn)?Uboot 源碼需要在 linux 上編譯,但是我日常使用的系統(tǒng)是 Windows,所以我一般將 VSCode 安裝在 Windows 上,使用 VS Code 提供的遠(yuǎn)程 SSH 功能,去連接遠(yuǎn)程 Linux 主機(jī),它會(huì)將遠(yuǎn)程主機(jī)上的目錄直接作為工作區(qū),另外還提供了集成終端,修改后直接在終端中編譯即可,如圖:

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

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

總結(jié)

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

審核編輯:郭婷

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

    關(guān)注

    5093

    文章

    19178

    瀏覽量

    307708
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210404
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開(kāi)發(fā)環(huán)境

    設(shè)備和智能傳感器)上,這些設(shè)備通常具有有限的計(jì)算能力、存儲(chǔ)空間和功耗。本文將您介紹嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性,以及常見(jiàn)的機(jī)器學(xué)習(xí)開(kāi)發(fā)軟件開(kāi)發(fā)環(huán)境。 嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與優(yōu)勢(shì) 由于
    的頭像 發(fā)表于 01-25 17:05 ?174次閱讀
    <b class='flag-5'>嵌入式</b>機(jī)器學(xué)習(xí)的應(yīng)用特性與<b class='flag-5'>軟件開(kāi)發(fā)</b>環(huán)境

    嵌入式工程師常用的開(kāi)發(fā)工具有哪些?

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

    ZLG致遠(yuǎn)電子與麒麟軟件攜手推出兩款銀河麒麟嵌入式工控機(jī)

    近日,ZLG致遠(yuǎn)電子與國(guó)產(chǎn)操作系統(tǒng)龍頭企業(yè)麒麟軟件積極響應(yīng)嵌入式產(chǎn)品國(guó)產(chǎn)化的大潮,共同推出了兩款重磅級(jí)的銀河麒麟嵌入式操作系統(tǒng)工控機(jī)產(chǎn)品。 這兩款
    的頭像 發(fā)表于 12-16 11:02 ?610次閱讀

    一文了解嵌入式軟件開(kāi)發(fā)的對(duì)象

    以前應(yīng)用場(chǎng)景很單一,嵌入式開(kāi)發(fā)可能談不上面向?qū)ο?b class='flag-5'>開(kāi)發(fā)。但現(xiàn)在,做嵌入式開(kāi)發(fā),沒(méi)有面向?qū)ο?b class='flag-5'>開(kāi)發(fā),你就有點(diǎn)落伍了。 本文結(jié)合個(gè)人經(jīng)驗(yàn)和周立功《抽象接口技術(shù)和組件
    的頭像 發(fā)表于 11-15 10:31 ?430次閱讀
    一文了解<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)</b>的對(duì)象

    你認(rèn)為嵌入式軟件開(kāi)發(fā)的盡頭是什么?

    嵌入式軟件開(kāi)發(fā)的“盡頭”是一個(gè)富有哲理且多維度的概念,因?yàn)樗粌H關(guān)乎技術(shù)發(fā)展的極限,還涉及到行業(yè)應(yīng)用、市場(chǎng)需求、技術(shù)融合與創(chuàng)新等多個(gè)方面。從幾個(gè)不同的視角來(lái)看
    的頭像 發(fā)表于 09-18 09:42 ?527次閱讀
    你認(rèn)為<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)</b>的盡頭是什么?

    EsDA,一站嵌入式軟件

    EsDA是一套面向工業(yè)智能物聯(lián)領(lǐng)域的嵌入式系統(tǒng)設(shè)計(jì)自動(dòng)化工具集,包含實(shí)時(shí)操作系統(tǒng)AWorksLP、低代碼開(kāi)發(fā)平臺(tái)AWStudio、資源管理平臺(tái)AXPI、跨平臺(tái)GUI引擎AWTK和云服務(wù)
    的頭像 發(fā)表于 09-15 08:10 ?358次閱讀
    EsDA,一站<b class='flag-5'>式</b><b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>

    嵌入式開(kāi)發(fā)常用軟件有哪些?

    查看源代碼,注釋文檔等非常方便,因?yàn)樗檎?,定位,彩色顯示等功能非常強(qiáng)大。開(kāi)發(fā)人員會(huì)當(dāng)成源代碼閱讀工具使用。 4.Keil uVision5
    發(fā)表于 09-09 15:22

    嵌入式linux開(kāi)發(fā)的基本步驟有哪些?

    嵌入式Linux開(kāi)發(fā)是一個(gè)復(fù)雜的過(guò)程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開(kāi)發(fā)、應(yīng)用程序開(kāi)發(fā)等多個(gè)方面。以下是
    的頭像 發(fā)表于 09-02 09:11 ?635次閱讀

    嵌入式linux開(kāi)發(fā)板怎么操作

    嵌入式Linux開(kāi)發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)
    的頭像 發(fā)表于 09-02 09:09 ?467次閱讀

    嵌入式linux開(kāi)發(fā)板芯片的工作原理

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

    嵌入式軟件開(kāi)發(fā)與AI整合

    嵌入式軟件開(kāi)發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢(shì)之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來(lái)越多地集成了AI算法,以實(shí)現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于嵌入式
    的頭像 發(fā)表于 07-31 09:25 ?835次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)</b>與AI整合

    好事成雙! 德承推出兩款精簡(jiǎn)緊湊型嵌入式電腦,效能升級(jí),應(yīng)用更廣

    強(qiáng)固型嵌入式電腦品牌 – Cincoze 德承,強(qiáng)勢(shì)推出 Rugged Computing – DIAMOND 系列旗下兩款新精簡(jiǎn)型嵌入式電腦。
    的頭像 發(fā)表于 06-03 15:28 ?261次閱讀
    好事成雙! 德承推出<b class='flag-5'>兩款</b>精簡(jiǎn)緊湊型<b class='flag-5'>嵌入式</b>電腦,效能升級(jí),應(yīng)用更廣

    AMD Vitis? Embedded嵌入式軟件開(kāi)發(fā)套件的功能和特性概述

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

    嵌入式軟件設(shè)計(jì)的原則分享

    嵌入式軟件開(kāi)發(fā)如果具有更好的閱讀性、擴(kuò)展性以及維護(hù)性,就需要考慮很多因素。今天給大家分享幾個(gè)嵌入式軟件設(shè)計(jì)的原則。
    發(fā)表于 02-25 10:54 ?751次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設(shè)計(jì)的原則分享

    嵌入式軟件開(kāi)發(fā)應(yīng)該掌握哪些知識(shí)?

    個(gè)部分組成,其中嵌入式軟件是指在嵌入式系統(tǒng)中運(yùn)行的程序,用于控制硬件并提供特定的功能和服務(wù)。嵌入式軟件
    發(fā)表于 02-19 11:23
    主站蜘蛛池模板: 好黄好猛好爽好痛的视频 | 五月婷婷六月丁香激情 | 又粗又爽又色男女乱淫播放男女 | 欧美视频a | 2级毛片| 国产国产人免费人成成免视频 | 起碰成人免费公开网视频 | www.色图| 日本一区二区在线免费观看 | 你懂的手机在线 | 亚洲国产成人久久99精品 | 亚洲2020天天堂在线观看 | 中文字幕在线乱码免费毛片 | 午夜 福利 | 天天干天天舔天天射 | 九九热精品视频在线播放 | 久久精品屋 | 最新午夜 | 国模在线 | 欧美性猛交xxxx免费 | 欧美日韩国产一区二区三区不卡 | 三级完整在线观看高清视频 | 黑色丝袜在丝袜福利国产 | 男人的天堂色偷偷之色偷偷 | 免费网站黄成人影院 | 老湿成人影院 | 韩国三级观影久久 | 五月天激情丁香 | 亚洲伊人tv综合网色 | www.色亚洲 | 亚欧乱色束缚一区二区三区 | 免费观看欧美一级片 | 久久九九国产 | 天天综合天天射 | 天天爱天天做天天爽夜夜揉 | 欧美极品另类xxx | a4yy私人毛片在线 | 五月天亚洲综合 | 九七婷婷狠狠成人免费视频 | 久久综合中文字幕 | 四虎影院在线视频 |