国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用VSCode clangd插件進(jìn)行l(wèi)inux內(nèi)核代碼閱讀和嵌入式開(kāi)發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了使用VSCode clangd插件進(jìn)行l(wèi)inux內(nèi)核代碼閱讀和嵌入式開(kāi)發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


在進(jìn)行 Linux 內(nèi)核代碼閱讀和嵌入式開(kāi)發(fā)時(shí),選擇合適的開(kāi)發(fā)工具至關(guān)重要。VSCode 是一個(gè)流行的跨平臺(tái)編輯器,并且它的擴(kuò)展生態(tài)系統(tǒng)非常強(qiáng)大。在這篇博客中,我們將介紹如何使用 VSCode Clangd 插件來(lái)提高 Linux 內(nèi)核代碼的閱讀和嵌入式開(kāi)發(fā)效率。

Clangd 是一個(gè)基于 Clang 的語(yǔ)言服務(wù)器,它提供了代碼智能感知和導(dǎo)航功能。通過(guò)與 VSCode 集成,可以實(shí)現(xiàn)以下功能:

  1. 代碼補(bǔ)全和自動(dòng)提示:Clangd 可以根據(jù)代碼上下文提供準(zhǔn)確的補(bǔ)全建議和自動(dòng)提示,幫助開(kāi)發(fā)者快速編寫(xiě)代碼。

  2. 代碼跳轉(zhuǎn)和導(dǎo)航:Clangd 可以識(shí)別代碼中的符號(hào)引用、函數(shù)調(diào)用等,并支持跳轉(zhuǎn)到定義、查看聲明等操作,便于閱讀和理解復(fù)雜的內(nèi)核源代碼。

  3. 實(shí)時(shí)錯(cuò)誤和警告檢查:Clangd 可以實(shí)時(shí)檢查代碼中的語(yǔ)法錯(cuò)誤、潛在問(wèn)題和警告信息,幫助開(kāi)發(fā)者及早發(fā)現(xiàn)和修復(fù)問(wèn)題。

  4. 重構(gòu)支持:Clangd 提供了一些重構(gòu)功能,如重命名變量、提取函數(shù)等,可以簡(jiǎn)化代碼重構(gòu)的過(guò)程。

要使用 Clangd 插件進(jìn)行 Linux 內(nèi)核代碼閱讀和嵌入式開(kāi)發(fā),你可以按照以下步驟進(jìn)行配置:

1. 安裝并配置 VSCode 和 Clangd 插件

1.1 下載clangd插件

首先確保你已經(jīng)安裝了最新版本的 VSCode,并在擴(kuò)展商店中搜索并安裝 Clangd 插件。
vscode閱讀linux內(nèi)核,vscode,linux,ide

配置 Clangd 插件:打開(kāi) VSCode 設(shè)置(快捷鍵:Ctrl + ,),搜索 “clangd” 并找到 Clangd 的相關(guān)配置項(xiàng)。根據(jù)你的需求,可以自定義一些設(shè)置,如編譯選項(xiàng)、頭文件路徑等。

1.2 下載clangd安裝包

我放在百度網(wǎng)盤(pán)里了(鏈接:https://pan.baidu.com/s/1R-pYpKz489hFZa-Z6CD9KQ
提取碼:9jtm)
vscode閱讀linux內(nèi)核,vscode,linux,ide
vscode閱讀linux內(nèi)核,vscode,linux,ide

1.3 配置插件的設(shè)置

1.3.1 點(diǎn)擊齒輪

vscode閱讀linux內(nèi)核,vscode,linux,ide

1.3.2 點(diǎn)擊extension settings

vscode閱讀linux內(nèi)核,vscode,linux,ide

1.3.3 設(shè)置clangd path

vscode閱讀linux內(nèi)核,vscode,linux,ide
將clangd設(shè)置為剛才下載的安裝包的路徑,這樣clangd就配置好了,但是為什么要下載插件還要下載安裝包呢,vscode下載的插件的位置在哪,直接配置下載插件的位置不就行了,這些問(wèn)題我也沒(méi)搞清楚,我只是知道vscode插件下載的位置,vscode的插件一般在home目錄下的隱藏文件夾.vscode里,但是我好像沒(méi)找到可執(zhí)行的clangd文件。
vscode閱讀linux內(nèi)核,vscode,linux,ide

2. 使用bear命令編譯linux源碼及自己的代碼

2.1 使用bear命令編譯linux源碼

book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make 100ask_imx6ull_defconfig 
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ bear make zImage -j4

我的是韋東山imx6ull開(kāi)發(fā)板,只需在第二項(xiàng)中加入bear命令即可,沒(méi)有安裝bear的話(huà)sudo裝一下,編譯完成之后就會(huì)有一個(gè)compile_commands.json文件,使用vscode open folder打開(kāi)源碼文件,隨便打開(kāi)一個(gè).c文件,clangd會(huì)自動(dòng)索引,會(huì)自動(dòng)生成一個(gè)隱藏文件夾
vscode閱讀linux內(nèi)核,vscode,linux,ide

然后就是把linux源碼文件和自己的代碼放到同一個(gè)工作區(qū),上邊已經(jīng)打開(kāi)linux源碼文件夾了,vscode將文件夾作為一個(gè)工作區(qū),現(xiàn)在就是將工作區(qū)另存為,因?yàn)槲覀儾豢赡馨炎约簩?xiě)的代碼加到linux源碼里,所以要先另存為,然后把自己的代碼文件夾加進(jìn)來(lái)
vscode閱讀linux內(nèi)核,vscode,linux,ide
我是存到驅(qū)動(dòng)學(xué)習(xí)的目錄里了,名字的話(huà)我沒(méi)改,xunwei文件夾是我寫(xiě)的代碼,
vscode閱讀linux內(nèi)核,vscode,linux,ide

然后將xunwei文件夾加進(jìn)來(lái)
vscode閱讀linux內(nèi)核,vscode,linux,ide
目前的一個(gè)目錄結(jié)構(gòu)大概就是這樣
vscode閱讀linux內(nèi)核,vscode,linux,ide

2.2 使用bear命令編譯自己的代碼

編譯自己的代碼的時(shí)候也要用bear make編譯,才會(huì)生成.json文件
vscode閱讀linux內(nèi)核,vscode,linux,ide

2.3 最重要的一點(diǎn)

查看自己的交叉編譯器是什么
vscode閱讀linux內(nèi)核,vscode,linux,ide
修改json里邊的"cc"為"“arm-linux-gnueabihf-gcc”,注意是全部修改,ctrl+F進(jìn)行全部替換,我之前就是沒(méi)有全部替換,出現(xiàn)問(wèn)題了。

總結(jié):

雖然還是有好多不理解的,但是這個(gè)步驟做下來(lái)應(yīng)該是可以正常進(jìn)行代碼跳轉(zhuǎn)、補(bǔ)全了,現(xiàn)在你可以開(kāi)始瀏覽和閱讀 Linux 內(nèi)核代碼了!Clangd 將會(huì)為你提供代碼補(bǔ)全、跳轉(zhuǎn)等功能,極大地提升了代碼的閱讀和理解效率。

無(wú)論是專(zhuān)注于代碼閱讀還是進(jìn)行嵌入式開(kāi)發(fā),Clangd 插件都是一個(gè)強(qiáng)大的輔助工具。希望本篇博客能幫助你快速上手并充分利用這個(gè)插件,提升你的 Linux 內(nèi)核代碼開(kāi)發(fā)能力!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-698247.html

到了這里,關(guān)于使用VSCode clangd插件進(jìn)行l(wèi)inux內(nèi)核代碼閱讀和嵌入式開(kāi)發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用VScode + clangd 閱讀 c/c++ 源碼環(huán)境搭建

    使用VScode + clangd 閱讀 c/c++ 源碼環(huán)境搭建

    在嵌入式軟件開(kāi)發(fā)的工作中,我們常常需要分析C/C++代碼,比如linux kernel 的代碼,而公司的代碼一般都會(huì)存放在服務(wù)器中,服務(wù)器一般是linux,且無(wú)法聯(lián)網(wǎng),我們只能通過(guò)本地筆記本ssh訪(fǎng)問(wèn)服務(wù)器,這就導(dǎo)致閱讀linux 源碼時(shí),需要跳轉(zhuǎn)定義、聲明時(shí)比較麻煩,本文就介紹了使

    2024年02月10日
    瀏覽(27)
  • 【vscode基于clangd實(shí)現(xiàn)Android/Linux代碼跳轉(zhuǎn)】

    【vscode基于clangd實(shí)現(xiàn)Android/Linux代碼跳轉(zhuǎn)】

    背景: 在開(kāi)發(fā)大型工程例如Android或Linux時(shí)若我們使用vscode搭配官方的C/C++插件使用發(fā)現(xiàn),經(jīng)常很多代碼都無(wú)法跳轉(zhuǎn),代碼補(bǔ)全功能幾乎是廢的,通過(guò)網(wǎng)友以及同事身邊了解之后發(fā)現(xiàn) vscode+clangd可以實(shí)現(xiàn)代碼任意跳轉(zhuǎn)補(bǔ)全等功能 ,因此本文通過(guò)講解如何配置clangd相關(guān)環(huán)境實(shí)現(xiàn)高

    2024年02月11日
    瀏覽(24)
  • VSCode使用clangd構(gòu)建Linux驅(qū)動(dòng)開(kāi)發(fā)環(huán)境

    VSCode使用clangd構(gòu)建Linux驅(qū)動(dòng)開(kāi)發(fā)環(huán)境

    最初在使用Linux內(nèi)核源碼進(jìn)行驅(qū)動(dòng)開(kāi)發(fā)時(shí),由于沒(méi)有代碼補(bǔ)全、自動(dòng)提示等功能寫(xiě)起來(lái)十分不方便,雖然有人使用Source Insight來(lái)閱讀源碼,但是我用起來(lái)還是感覺(jué)怪怪的,有時(shí)間同一個(gè)函數(shù)會(huì)找到很多的定義,不便判斷。在調(diào)用層次方面,還是clangd更好用。 Clangd 是一個(gè)基于

    2024年01月16日
    瀏覽(37)
  • VSCode使用插件Github Copilot進(jìn)行AI編程

    VSCode使用插件Github Copilot進(jìn)行AI編程

    演示示例 函數(shù)封裝 根據(jù)上下文 根據(jù)注釋 詳情請(qǐng)看GitHub Copilot 安裝插件 在VS Code中安裝插件 GitHub Copilot 登錄賬號(hào) 點(diǎn)擊VS code左下角賬戶(hù)圖標(biāo),點(diǎn)擊【Sign in】,會(huì)自動(dòng)在瀏覽器打開(kāi)Github登錄頁(yè),登錄 具有 Github Copilot 服務(wù) 的 Github 帳號(hào)。 登錄成功后,在VSCode 右下角有 Copilot 激

    2024年02月05日
    瀏覽(38)
  • 使用VSCode的 Dev Containers 插件搭配Docker 容器進(jìn)行開(kāi)發(fā)環(huán)境的搭建

    使用VSCode的 Dev Containers 插件搭配Docker 容器進(jìn)行開(kāi)發(fā)環(huán)境的搭建

    需要安裝插件 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 安裝Docker 這樣做的好處 每一個(gè)項(xiàng)目可以運(yùn)行一個(gè)容器,在容器內(nèi)開(kāi)發(fā),相關(guān)之間node環(huán)境隔離,徹底解決本地包版本依賴(lài)關(guān)錯(cuò)亂問(wèn)題 共用宿主機(jī)的git 配置, 如果用的是 alpine 版本的鏡像,則沒(méi)有

    2024年01月21日
    瀏覽(39)
  • 關(guān)于在Vscode安裝clangd的教程(分別在linux和windows)[很詳細(xì),很細(xì)節(jié),很全!]【W(wǎng)indows端:缺少 language enginee的解決方法】

    關(guān)于在Vscode安裝clangd的教程(分別在linux和windows)[很詳細(xì),很細(xì)節(jié),很全!]【W(wǎng)indows端:缺少 language enginee的解決方法】

    一.背景: 在Vscode中,使用c/c++ 編譯器(插件),但是自帶的補(bǔ)全語(yǔ)法不好 clang 也是個(gè)編譯器,而其對(duì)應(yīng)的clangd的補(bǔ)全語(yǔ)法的功能很友善 所以在Vscode中,我們可以使用插件c/c++編譯和執(zhí)行,但是補(bǔ)全的語(yǔ)法用clangd,話(huà)不多說(shuō),直接開(kāi)干! 安裝分為2部分,linux端和本地端 1.先在

    2024年02月20日
    瀏覽(28)
  • VsCode使用EmmyLua插件調(diào)試Unity工程Lua代碼

    VsCode使用EmmyLua插件調(diào)試Unity工程Lua代碼

    一、VSCode安裝EmmyLua ?二、添加配置文件 三、設(shè)置配置文件 執(zhí)行完第二步會(huì)彈出添加好的launch.json配置文件,這個(gè)文件只需要修改“ideConnectDebugger” = false,其他一般不用修改。 ? ?四、添加Lua斷點(diǎn)調(diào)試入口 luaEnv變量必須為全局唯一 路徑標(biāo)紅的地方配上你的正確路徑名 var p

    2024年02月13日
    瀏覽(24)
  • VSCode超強(qiáng)代碼補(bǔ)全插件——GPT Runner的安裝與使用

    VSCode超強(qiáng)代碼補(bǔ)全插件——GPT Runner的安裝與使用

    一、插件安裝 插件安裝就不過(guò)多贅述了,直接上圖 二、配置插件 1、任意打開(kāi)一個(gè)文件,就會(huì)發(fā)現(xiàn)在VSCode右上角出現(xiàn)了一個(gè)小綠標(biāo),我們把它點(diǎn)開(kāi)。 2、然后出現(xiàn)一個(gè)展示框,直接無(wú)腦帶你confirm即可。 3、點(diǎn)擊confirm之后,就會(huì)進(jìn)入文件樹(shù)頁(yè)面,其他的不用管,我們點(diǎn)擊上方的

    2024年02月03日
    瀏覽(18)
  • 1、怎么閱讀linux內(nèi)核源碼

    : 了解C語(yǔ)言和操作系統(tǒng)的基本概念對(duì)于理解內(nèi)核代碼至關(guān)重要。如果對(duì)C語(yǔ)言和操作系統(tǒng)的基礎(chǔ)知識(shí)感到陌生,可以先學(xué)習(xí)相關(guān)的教材或課程。 Linux內(nèi)核非常龐大,涵蓋了多個(gè)子系統(tǒng)和功能。因此,選擇您感興趣的子系統(tǒng)或功能模塊,有助于更有針對(duì)性地學(xué)習(xí)和研究相關(guān)的代

    2024年02月15日
    瀏覽(16)
  • 為vscode配置clangd

    為vscode配置clangd

    clangd能提供更好的補(bǔ)全和提示,自帶檢查一些warning的問(wèn)題,可以減少大家未來(lái)找存在的warning的時(shí)間。經(jīng)過(guò)配置可以在unittest和timetest中也實(shí)現(xiàn)自動(dòng)補(bǔ)全,平均速度比vscode c/c++插件更快。 在插件市場(chǎng)搜索clangd。安裝即可。注意c/c++可以不用卸載,否則調(diào)試可能會(huì)有點(diǎn)問(wèn)題。 在

    2023年04月08日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包