日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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)注

    5210

    文章

    20680

    瀏覽量

    337406
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11822

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【飛凌嵌入式RV1126B開(kāi)發(fā)板】+兩款開(kāi)發(fā)板之比較

    目前兩款常見(jiàn)的RV1126B開(kāi)發(fā)板,一是靈眸科技推出的EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)套件,另一就是飛凌
    發(fā)表于 03-05 23:32

    嵌入式軟件開(kāi)發(fā)工具市場(chǎng)新動(dòng)向:訂閱制趨勢(shì)下的中國(guó)開(kāi)發(fā)者選擇

    面對(duì)軟件業(yè)從永久授權(quán)模式廣泛轉(zhuǎn)向訂閱制的行業(yè)趨勢(shì),作為行業(yè)大主流嵌入式軟件開(kāi)發(fā)工具,即Keil MDK與IAR Embedded Workbench也推出了不同的市場(chǎng)策略,正在為中國(guó)
    的頭像 發(fā)表于 01-30 17:20 ?953次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)工具</b>市場(chǎng)新動(dòng)向:訂閱制趨勢(shì)下的中國(guó)<b class='flag-5'>開(kāi)發(fā)</b>者選擇

    嵌入式驅(qū)動(dòng)開(kāi)發(fā),需要掌握哪些技能?

    單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等,并學(xué)會(huì)使用調(diào)試工具進(jìn)行問(wèn)題排查。 6、 其他嵌入式驅(qū)動(dòng)開(kāi)發(fā),實(shí)質(zhì)也是軟件開(kāi)發(fā),還需要掌握開(kāi)發(fā)文檔的編輯、
    發(fā)表于 01-20 16:46

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計(jì)等。 開(kāi)發(fā)工具和技術(shù) 嵌入式開(kāi)發(fā)過(guò)程中常用的工具包括: · ?集成開(kāi)發(fā)環(huán)境(IDE)?:用于編寫(xiě)、編譯和調(diào)試
    發(fā)表于 01-12 16:13

    嵌入式軟件開(kāi)發(fā)的 10 個(gè)技巧分享

    !請(qǐng)謹(jǐn)記,如果不頻繁提交代碼,存儲(chǔ)庫(kù)就不會(huì)達(dá)到預(yù)期目的。如果做了不可修復(fù)的改變,過(guò)周才提交代碼再恢復(fù)的話,就會(huì)造成大量工作和時(shí)間的損失! 技巧 9:代碼注釋 在緊張的
    發(fā)表于 12-25 06:04

    C語(yǔ)言單元測(cè)試在嵌入式軟件開(kāi)發(fā)中的作用及專業(yè)工具的應(yīng)用

    三、winAMS工具的核心功能與優(yōu)勢(shì) winAMS是一專業(yè)的嵌入式C語(yǔ)言單元測(cè)試工具,針對(duì)嵌入式開(kāi)發(fā)的特殊需求提供了全面解決方案。其主要
    發(fā)表于 12-18 11:46

    從小白到大牛:Linux嵌入式系統(tǒng)開(kāi)發(fā)的完整指南

    從小白到大牛:Linux嵌入式系統(tǒng)開(kāi)發(fā)的完整指南 一、小白入門(mén):搭建 Linux 嵌入式開(kāi)發(fā)的認(rèn)知地基? 對(duì)于零基礎(chǔ)學(xué)習(xí)者,首先要打破 “
    發(fā)表于 12-16 10:42

    CW32嵌入式軟件開(kāi)發(fā)的必備知識(shí)

    嵌入式軟件開(kāi)發(fā)作為計(jì)算機(jī)科學(xué)和電子工程的交叉領(lǐng)域,要求開(kāi)發(fā)人員具備一系列的專業(yè)知識(shí)和技能。 而基于CW32的嵌入式軟件開(kāi)發(fā)必備知識(shí)包括以下
    發(fā)表于 11-28 07:48

    嵌入式開(kāi)發(fā)工具版本的選擇策略

    今天,我們就來(lái)結(jié)合嵌入式常見(jiàn)的幾個(gè)軟件(如Keil / IAR、VS Code 、Source Insight、VMware、Git等),簡(jiǎn)單講一講嵌入式開(kāi)發(fā)工具軟件版本選擇策略。 開(kāi)發(fā)
    發(fā)表于 11-25 06:11

    嵌入式軟件測(cè)試與專業(yè)測(cè)試工具的必要性深度解析

    嵌入式系統(tǒng)作為控制、監(jiān)視或輔助裝置運(yùn)行的專用計(jì)算機(jī)系統(tǒng),其軟件測(cè)試面臨著獨(dú)特的挑戰(zhàn)和嚴(yán)格的要求。專業(yè)測(cè)試工具嵌入式軟件開(kāi)發(fā)過(guò)程中發(fā)揮著不可
    發(fā)表于 09-28 17:42

    新一代嵌入式開(kāi)發(fā)平臺(tái) AMD嵌入式軟件工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件工具是面向新一代嵌入式系統(tǒng)開(kāi)發(fā)而打造的綜合平臺(tái),全面加速概念構(gòu)想到部署落地。 2025.1 版
    的頭像 發(fā)表于 08-20 09:15 ?4259次閱讀

    AMD 2025.1版嵌入式軟件工具的新增功能

    AMD 2025.1 版嵌入式軟件工具是面向新一代嵌入式系統(tǒng)開(kāi)發(fā)而打造的綜合平臺(tái),全面加速概念構(gòu)想到部署落地。
    的頭像 發(fā)表于 08-15 15:32 ?1471次閱讀

    2025“芯原杯”全國(guó)嵌入式軟件開(kāi)發(fā)大賽圓滿落幕

    此前,2025年7月20日至26日,第四屆“芯原杯”全國(guó)嵌入式軟件開(kāi)發(fā)大賽決賽在??诔晒εe辦。
    的頭像 發(fā)表于 08-06 09:51 ?1606次閱讀

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

    文檔等非常方便,因?yàn)樗檎遥ㄎ?,彩色顯示等功能非常強(qiáng)大。開(kāi)發(fā)人員會(huì)當(dāng)成源代碼閱讀工具使用。 4. Keil uVision5 Keil 5
    發(fā)表于 07-03 17:06

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    區(qū)別 單片機(jī)嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是種不同的嵌入式系統(tǒng)開(kāi)發(fā)方式,它們?cè)趹?yīng)用領(lǐng)域、
    發(fā)表于 06-20 09:46
    通道| 湟中县| 泾源县| 遵化市| 封开县| 乾安县| 泰兴市| 滦南县| 曲水县| 历史| 进贤县| 多伦县| 申扎县| 仙桃市| 安吉县| 永靖县| 依兰县| 聂荣县| 仙居县| 开远市| 同江市| 东阿县| 平南县| 昌黎县| 库伦旗| 醴陵市| 衡水市| 龙江县| 禹城市| 高青县| 尚志市| 凌海市| 丰镇市| 许昌县| 丹巴县| 肥东县| 罗甸县| 海口市| 新河县| 通城县| 青龙|