如何从cscope数据库中显示所有功能名称?

Kan*_* Wu 19 cscope

我试图找到一种方法来转储所有函数名称和它从cscope数据库的路径.有没有办法从cscope CLI做到这一点?

注意:可以下载cscope源代码.

wol*_*evo 12

请尝试以下方法:

cscope -R -L -2 ".*" | awk -F ' ' '{print $2 "#" $1}' | sort | uniq
Run Code Online (Sandbox Code Playgroud)
  1. 该命令cscope -R -L -2 ".*"将输出任何函数调用的函数(请参阅下面的选项说明).对于找到的每个引用,cscope输出由空格分隔的文件名,函数名,行号和行文本组成的行.
  2. 使用awk提取函数名$2和文件名$1隔开#.变化$2,$1和分离器#,如果你需要其他的输出字段或分隔.
  3. 用输出排序sort.
  4. 获得独特的物品uniq.

cscope选项(见http://cscope.sourceforge.net/cscope_man_page.html):

  • -R 递归源文件的子目录.

  • -L 与-num pattern选项一起使用时,使用面向行的输出执行单个搜索.

  • -2 ".*"转到输入字段num(此处从0开始的字段2)并找到模式(此处.*为所有).您可以在cscope的屏幕模式下查看输入字段.这可能会因您使用的版本而异.debian版本15.8a的字段是:

    • 0:找到这个C符号:
    • 1:找到这个全局定义:
    • 2:查找此函数调用的函数:
    • 3:查找调用此函数的函数:
    • 4:找到这个文本字符串:
    • 5:更改此文本字符串:
    • 6:找到这个egrep模式:
    • 7:找到这个文件:
    • 8:查找文件#including this file:

  • 有什么方法可以从一个文件/模块中找到所有功能 onyl 吗? (4认同)