vscode+clangd解析内核

一、配置

{

"clangd.path": "/home/xxx/.local/clangd_12.0.1/bin/clangd",

"clangd.arguments": [

"--background-index",

"--header-insertion=never",

"--limit-results=0",

"--compile-commands-dir=${workspaceFolder}/out",

"--completion-style=detailed",

"-log=info"

],

}

二、使用scripts/gen_compile_commands.py生成compile_commands.json

./scripts/gen_compile_commands.py -d out

三、解决解析过程中的报错

1.方法一

修改gen_compile_commands.py脚本,去掉报错的参数,添加如下代码:

_FILTER_PATTERN = r'\-mabi=lp64|\-fno-var-tracking-assignments|\-fconserve-stack|\-mstack-protector-guard=sysreg|\-mstack-protector-guard-reg=sp_el0|\-mstack-protector-guard-offset=1240'

prefix = re.sub(_FILTER_PATTERN, "", prefix)

重新生成compile_commands.json

2.方法二

将报错的选项添加到根目录下的.clangd文件中,添加如下内容:

CompileFlags:                     # Tweak the parse settings
  Remove: [-mabi=lp64,-fno-var-tracking-assignments, -fconserve-stack, -mstack-protector-guard=sysreg, -mstack-protector-guard-reg=sp_el0, -mstack-protector-guard-offset=1240]

更新:使用新版本的clangd,需要添加"--enable-config",.clangd好像只有在${workspaceFolder}当前目录下起作用。

可以使用kill杀掉当前的clangd进程重启服务。或者关闭vscode关闭文件夹再打开重启。

{

    "clangd.arguments": [    

        "--background-index",

        "--header-insertion=never",

        "--limit-results=0",

        "--compile-commands-dir=${workspaceFolder}",

        "--completion-style=detailed",

        "--enable-config",

        "-log=info"        

        ],

        "clangd.path": "/opt/clangd_14.0.3/bin/clangd",

}

更新,去掉clang-tidy的错误告警,命令行添加以下参数,禁止clang-tidy的所有检测。

        "--clang-tidy",

        "--clang-tidy-checks=-*"

更新,去掉clangd一些检查,如clangd提示-Wint-to-pointer-cast的错误,可以在.clangd中添加参数:

CompileFlags:

 Add: [-Wno-int-to-pointer-cast]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Mac上使用VSCodeClang来搭建Linux驱动源码阅读环境,您需要按照以下步骤进行设置: 1. 安装VSCode:在Mac上下载并安装Visual Studio Code。您可以从官方网站或App Store下载安装程序。 2. 安装VSCode插件:打开VSCode并安装必要的插件。例如,您可以搜索并安装C/C++插件,以支持C语言和C++编程。 3. 安装Clang:可以使用Homebrew等软件包管理器来安装Clang编译器。打开终端,运行以下命令安装Clang: ``` brew install llvm ``` 这将同时安装LLVM和Clang。 4. 配置VSCode:在VSCode中打开设置面板,并配置Clang作为默认的C/C++编译器。在"Preferences"菜单下选择"Settings",搜索"Clang Path"并指定安装的Clang路径。 5. 克隆Linux驱动源码:使用git工具将Linux驱动源码克隆到您的本地环境。您可以通过访问Linux内核源码仓库的网站,找到您想要阅读的驱动源码,并使用git命令进行克隆。 ``` git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git ``` 这将把源码克隆到当前目录下的"linux"文件夹中。 6. 在VSCode中打开源码:在VSCode中打开刚刚克隆的Linux驱动源码文件夹。您可以使用"File"菜单中的"Open Folder"选项,选择"linux"文件夹进行打开。 现在,您可以在VSCode中使用Clang来阅读和分析Linux驱动源码。您可以使用VSCode的功能来导航源码、搜索函数和变量,或者使用断点调试功能进行代码调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值