请教一下,阅读 Linux Kernel 最快的解决方案(@Windows)是啥呢?

2020-03-26 11:46:36 +08:00
 nevin47

最近在看 Kernel 相关的源码,但是因为 Kernel 中各种神级 arch,花式宏封装,试了好几个工具( VSC,CLion,SI,Vim ...)都觉得不得劲

尤其是遇到一个xxx_arch_xxx接口的时候,全局搜索( ag 、ack 、各种自带全局搜索全试过了)慢的让人崩溃( nvme 盘、Ramdisk 全试过了)

想问问万能的 V 友们,有没有比较优雅的阅读 Kernel 代码的方案可以推荐的……

9256 次点击
所在节点    Linux
49 条回复
nevin47
2020-03-27 09:19:15 +08:00
@mingl0280 #37 实测远不如 SI


@oddtux #39 我搞整 Clion 的时候想过,不过 windows 上面我猜测因为 aux/文件重名等问题,生成 compile_commands.json 有点问题,我周末再试试这个办法

@james122333 #40 ctags 应对相对不那么复杂的工程还好,但是 Linux Kernel 这种套了各种“魔法”的东东,ctags 还是有点无力了
james122333
2020-03-27 09:22:05 +08:00
还有 lsp
不过我想自己弄一个
purplewall
2020-03-27 10:34:30 +08:00
(删代码)
arch 里面留下你用的那个架构,driver 删除,documentation 删除,script 删除,fs 留下目录文件和随便哪个 fs
嫌速度慢可以装 grep 搜,
内核里的间接跳转用函数指针了,似乎不能直接搜。
oddtux
2020-03-27 12:25:54 +08:00
@nevin47
文件名的关系, windows 下很麻烦的, 还是 linux 下看吧. 双系统, 虚拟机, WSL2 都行的.
sublime, vscode, atom 都有 clangd 的扩展, 不一定用 clion
rockcat
2020-03-27 14:17:30 +08:00
最好是带着特定的目标去看,否则通篇看下来估计要晕菜的。
hyperion1
2020-04-18 18:39:04 +08:00
vim+global
pmx1990
2022-07-01 11:46:04 +08:00
@woai110120130 打开项目一片红 怎么解决的~
nevin47
2022-07-04 09:29:26 +08:00
@pmx1990 #47 你要自己编译一份 compile_command_json(好像这个名字?)
pmx1990
2022-07-14 10:13:32 +08:00
@nevin47 我 Mac 下直接 clion 导入,然后 makefile 报错,注释掉几个过不去的,基本上能看了,反正不能编译,不飘红就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX