global

安装

安装GNU global,以ubuntu为例:

$ sudo apt install global

安装后有如下命令

  • gtags : 生成GNU global的数据库

  • global : 在shell命令行中进行查询

  • gtags-cscope : 在vim中利用 cscope一样的界面进行查询

生成数据库

生成GNU global数据库,以linux kernel为例:

$ make ARCH=arm gtags # 只生成arm的数据库

$ gtags               # 不建议使用,默认会生成所有arch的数据库

生成如下文件

  • GTAGS : definition database

  • GRTAGS: reference database

  • GPATH : path name database

查询

通过GNU global查询 函数在哪里定义 或 函数在哪里被调用等等,下面分别介绍shell, vimvscode是如何进行查询

A. 通过shell进行查询

B. 通过vim进行查询

首先,在/etc/vim/vimrc.local添加如下配置

然后,用vim打开某一个文件后,就可以通过ctrl-@ g查询 函数在哪里定义,通过ctrl-@ c查询 函数在哪里被调用

C. 通过vscode进行查询

参考网址 : GNU GLOBAL Source Code Tag System

首先,安装 C/C++ GNU Global插件

然后,用vscode打开某一个文件后,就可以通过右键->xxx查询 函数在哪里定义 或 函数在哪里被调用

Last updated

Was this helpful?