如何使用cscope?

时间:2010-09-30 06:02:48

标签: c linux vim cscope

我正在使用cscope熟悉套接字编程中使用的所有关键字。我去了带有c文件的目录。我用过cscope。然后我搜索了AF_INET。我明白了:

#define AF_FILE         PF_FILE
#define AF_INET         PF_INET
#define AF_AX25         PF_AX25

这是一整页。我只发表了部分内容。现在我想知道这个PF_INET来自哪里?我应该使用什么命令。我见过一个人双击PF_INEt并使用一些命令来查找它。我不知道命令是什么?请帮助我。

第二件事是当我用:q命令退出页面时。我来到这个页面:

Global definition: AF_INET

  File     Line
0 socket.h 119 #define AF_INET PF_INET










Find this C symbol:
Find this global definition:
Find functions called by this function:
Find functions calling this function:
Find this text string:
Change this text string:
Find this egrep pattern:
Find this file:
Find files #including this file:

这里光标闪烁为0.如果我想再搜索一下,我该怎么做? 如何从这里导航。我试图谷歌它,但无法从tutoials了解任何东西。请帮助我这方面因为我是linux操作系统和c编程的完整菜鸟。提前谢谢。

4 个答案:

答案 0 :(得分:13)

我同意cscope文档不是很清楚。

使用标签移至交互式部分。在“查找此C符号”或“查找此egrep模式”中键入您的符号名称并验证按RETURN。

如果您想从vim调用它,请输入:help if_cscop.txt;希望它有所帮助!

:cscope add your_cscope_database
:cscope find s [your_symbol]

这将生成一个新的quickfix列表。使用:cn:cp进行导航,:cnf:cpf在结果中从一个文件导航到另一个文件,并:colder:cnewer进行导航以前的quickfix列表。

答案 1 :(得分:13)

要退出cscope交互式提示,请键入Ctrl-d。如果您只想重建cscope的数据库,而不是调用cscope的交互式提示,请将-b选项传递给它。我通常以cscope -bcqR调用cscope。

至于使用cscope在vim中跳转,它实际上取决于你的vim配置。

最有可能的情况是,跳转到代码(Ctrl-])将首先使用cscope,然后使用ctags(请参阅:help cst:help csto)。使用Ctrl-T返回。

通过在vim中键入:help cscope-suggestions,您可以找到一些有用的cscope映射。将这些映射添加到.vimrc后,您将能够使用Ctrl-_ s跳转到符号,使用Ctrl-_ c调用函数等等...

您可以通过键入:help cscope来访问vim的cscope文档。

答案 2 :(得分:5)

我主要使用以下内容。这些是理解cscope的基础。

  1. “cscope -R” 然后你会得到选择。
  2. 按向下箭头。然后,您将转到所需的选项。在相应选项中键入您想要的任何内容。
  3. 从搜索结果中。使用箭头(向上和向下)然后按“输入键”查看详细文件。
  4. “:q”退出文件。
  5. 按“Tab键”进入cscope选项。
  6. “ctrl + d”退出cscope。

答案 3 :(得分:0)