0
点赞
收藏
分享

微信扫一扫

ctags 生成简明易用 linux 源码 tags

梯梯笔记 2022-04-14 阅读 124
ctagslinux

问题所在

一般使用ctags 就是用ctags -R生成tags。不过这样看源码时会有两个问题:

  1. 假如同一个函数在不同的处理器架构中都有实现,那么跳转时,会出现很多你不关心的架构的函数原型。比如你关注arm64,但是会出现power pc,mips 等等架构
  2. 在跳转时,会出现很多struct member的标签。但是这通常不是你想要的。最典型的你可以在linux 源码中 :ta device,你期望的是跳到struct device 的定义处。结果出现了几百行结果,大部分都是device 作为其他struct 的member。

解决

对于问题1,linux 源码中自带一个生成tags 的脚本,只要在linux 源码根目录使用如下命令

make tags ARCH=arm64

就可以生成仅包含arm64架构的tags。

对于问题2,可以在使用如上命令前,先改一下linux 生成tags 的脚本,添加如下一个参数
在这里插入图片描述
或者,为ctags 添加全局参数,命令如下:

echo --c-kinds=-m >> $HOME/.ctags

更多

通过man ctags 还可以看到,还可以使用CTAGS 环境变量,以及在其他位置放置配置文件
在这里插入图片描述

举报

相关推荐

0 条评论