当前位置: 首页 > news >正文

厦门seo网站管理网站建设好后怎样形成app

厦门seo网站管理,网站建设好后怎样形成app,中国交通建设监理协会网站打不开,渭南网页设计文章目录前言一、环境说明二、环境安装1.Vscode安装Remote SSH实现远程访问2.Vscode安装clangd插件3.远程linux安装clangd4.配置Vscode中clangd插件5.远程linux安装bear三、编译环境1.Vscode创建工作区2.编译linux内核3.退出Vscode,然后远程连接,重新打开…

文章目录

  • 前言
  • 一、环境说明
  • 二、环境安装
    • 1.Vscode安装Remote SSH实现远程访问
    • 2.Vscode安装clangd插件
    • 3.远程linux安装clangd
    • 4.配置Vscode中clangd插件
    • 5.远程linux安装bear
  • 三、编译环境
    • 1.Vscode创建工作区
    • 2.编译linux内核
    • 3.退出Vscode,然后远程连接,重新打开Vscode的工作区
  • 其他内容


前言

在驱动开发工程中,需要查看一些API的参数,但是使用vscode编辑器的时候,不能像source insight一样查看linux源码查看,另外自己习惯使用vscode,查看网上方法发现可以使用vscode+clangd+bear 实现内核源码快速访问,其中有些小问题这里记录供大家参考。


一、环境说明

1.vscode运行在Windows环境
2.Linux虚拟机是在Windows环境下通过VMWare安装,版本为Ubuntu20.04

二、环境安装

1.Vscode安装Remote SSH实现远程访问

vscode安装Remote SSH实现远程访问linux服务器
参考链接1
参考连接2

2.Vscode安装clangd插件

注意:确保在第一步已经使用Remote SSH远程连接到linux服务器在进行下面这步
在vscode的插件搜索栏clangd插件,安装到远程linux中【192.168.198.128】,可以在插件栏看到是否安装到linux中,并且将C/C++插件给卸载掉,否则会冲突

3.远程linux安装clangd

方法1:网上的其他方法是,在第2步vscode安装好clangd插件之后,vscode会自动在linux端安装clangd服务【但是这个过程很慢,除非科学上网】
方法2:去github拉取clangd文件,拷贝到linux中解压【这个方法由于公司电脑原因,不能使用】
方法3:直接在linux上输入安装指令:sudo apt-get install clangd或者sudo apt install clangd【下图是clangd官方给出的方法,安装的是clangd-12版本,这里我实测可以直接安装clangd,不用指定版本】
在这里插入图片描述

检查linux上clangd是否安装成功,如下输入:
clangd --version查看版本

lubancat@ubuntu:~/code/lubancat_kernel$ clangd --version
clangd version 10.0.0-4ubuntu1 

which clangd查看路径

lubancat@ubuntu:~/code/lubancat_kernel$ which clangd
/usr/bin/clangd

4.配置Vscode中clangd插件

配置1clangd插件的设置【注意这里要切到远程linux下面设置】
在这里插入图片描述
首先在clangd.arguments输入【注意,下面的内容一条一条的添加,之前测试是一次性复制输入,发现不行】

--compile-commands-dir=${workspaceFolder}
--background-index
--completion-style=detailed
--header-insertion=never
-log=info

然后在clangd.path输入【这里根据自己的路径】

/usr/bin/clangd

5.远程linux安装bear

在linux端直接输入:sudo apt-get install bear libear ,这里如果输入sudo apt-get install bear会报错
检查linux上bear是否安装成功,如下输入:
bear --version查看版本

lubancat@ubuntu:~/code/lubancat_kernel$ bear --version
bear 2.4.3

which bear查看路径

lubancat@ubuntu:~/code/lubancat_kernel$ which bear
/usr/bin/bear

三、编译环境

1.Vscode创建工作区

使用vscode将linux内核源码和驱动源码放在俩个文件夹下,把这俩个文件夹放在一个工作区,方法在编写驱动程序的时候,可以直接访问linux源码。工作区包含的文件夹如下

1.lubancat_kerner #用来存放linux内核
2.linux_driver    #用来存放驱动源码

2.编译linux内核

make clean
bear make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- lubancat2_defconfig
bear make ARCH=arm64 -j4 CROSS_COMPILE=aarch64-linux-gnu-

①等待编译完成【时间有点长,可以喝杯茶】,完毕之后会在linux源码的根目录路径下多出一个compile_commands.json文件,这个文件应该很多行【如果很小,说明编译有问题,按照上面清除之后重新编译】。
②编译完成后,这里我遇到一个问题在vscode的输出终端哪里一直报错
解决方法1clangd不能跳转,并报failed: Couldn’t build compiler instance错误
解决方法2 clangd:Couldn‘t build compiler instance
在这里插入图片描述

③这里前人的解决方法是,创建一个.clangd文件输入配置信息,但是我试了下发现不太行,而且还要重新编译linux内核【还在等很久实在受不了】
解决方法3——我的方法想了下这里不就是把compile_commands.json这个文件中的-mabi=lp64去掉吗,于是直接在compile_commands.json文件中按下ctrl+F搜索-mabi=lp64,然后用空白内容替换不就行了,直接简单暴力】

3.退出Vscode,然后远程连接,重新打开Vscode的工作区

工作区存放的文件夹如下:

1.lubancat_kernel【这是我放linux内核源码的目录】
2.linux_driver【这是我放驱动源码的目录】

然后,在linux内核源码和驱动源码中的头文件、函数、变量就可以直接使用ctrl+鼠标左键进行跳转,这样简直泰裤啦!!!

其他内容

1. bear 的作用
核心功能
生成 compile_commands.json 文件(编译数据库),记录项目编译时的所有命令、参数和文件路径。为什么需要它?
C/C++ 项目通常通过 Makefile、CMake 等构建系统编译,IDE 无法直接获知每个文件的编译规则。compile_commands.json 明确告诉工具(如 clangd)如何解析每个源文件(包括头文件路径、宏定义等)。
2. clangd 的作用
核心功能
C/C++ 语言服务器(Language Server Protocol, LSP),为编辑器(如 VSCode、Vim)提供:代码补全、跳转到定义、实时错误检查、代码重构、文档悬停提示为什么需要它?
传统的 C/C++ 插件(如 VSCode 的 C/C++ 插件)基于文本匹配,分析能力有限。clangd 基于 LLVM/Clang,能像编译器一样精准理解代码语义。依赖条件
需要 compile_commands.json(由 bear 生成)来正确解析项目代码。
http://www.dtcms.com/a/566280.html

相关文章:

  • Vue 生成 PDF 完整教程
  • 【C++日志库】启程者团队开源:轻量级高性能VoyLog日志库完全指南
  • 【Dify】详细介绍+功能说明
  • 做a手机视频在线观看网站3d装修效果图制作软件
  • 从化营销网站建设高新区微网站建设
  • 【区间贪心 区间覆盖】1326. 灌溉花园的最少水龙头数目|1885
  • flash网站模板下载锦江区建设和交通局网站
  • 如何做社团网站企业网站seo数据
  • 【6】更进一步理解UEFI核心概念:Device、Driver、Handle、Protocol、Image
  • 2024/12 JLPT听力原文 问题四
  • 摆脱重复劳动:利用n8n核心触发器(Cron、Webhook、手动)开启自动化新篇章
  • go 做视频网站毕业设计网站建设题目
  • IDM插件开发挑战赛技术
  • 网站编辑软件都有哪些ag亚游平台网站开发
  • 哈尔滨网站建设丿薇php网站开发核心技术
  • 成都网站建设外贸北京优化社区防控措施方案
  • 2025母婴用品双11营销解码与AI应用洞察报告|附40+份报告PDF、数据、绘图模板汇总下载
  • 论文收录网站排名不同域名一样的网站
  • 云酒店网站建设wordpress增加导航栏
  • 宁波网站制作哪家优惠多wordpress ajax 翻页
  • XGBoost的原理
  • Agent-工具的使用(基于Langchain1.0)
  • 手机版网站开发公司酒水在什么网站做推广好
  • 表面参数化
  • 英国网站建设鞍山网站开发
  • 苏州公司网站建设公司亚马逊雨林面积有多大
  • fuzz相关基础概念:libfuzzer,afl,honggfuzz,sanitizer,seed,harness
  • qt5.15.2静态链接
  • 沙坪坝集团网站建设高端大气的科技网站模板
  • 棋乐平台代理seo基本概念