Linux源码阅读环境
这里主要使用Vscode+Clangd的方式。使用我们之前的docker启动一个环境
docker run -it --name src_reading --privileged=true -p2233:22 yirannn/modular-zswap-env bash
先处理docker端
提示环境
- 安装clangd,由于clangd和编译过程联系紧密,所以我们选择不在windows上而直接在remote上放代码。
- 安装bear,它辅助我们创建Compilation Database, 它会记录每个c文件的依赖和编译选项
apt-get install clangd bear
编译
在对应的目录下,运行
make clean bear -- make
即可通过一次编译生成Compilation Database
再处理前端
安装一个Vscode-Docker插件(Container-dev亦可)
attach一个vscode上去
在远程安装一个clangd后端
这之后打开文件,clangd 就会提供补全、引用相关的功能了。
FAQ
在我给 ARM 机器安装 clangd 环境的时候,出现了 Clangd Request Error : Invalid AST 的问题
需要在项目根目录下创建.clangd配置文件,在 CompileFlags 下添加一行 Remove,参见
https://github.com/clangd/clangd/issues/1582
CompileFlags:
Remove: [-march=*, -mabi=*]
评论 (0)