如何获取C中文件中所有函数的范围(即行号)?

use*_*013 3 c function ctags line-numbers

我想得到C中文件中所有函数的开始和结束行号.是否有人知道Linux中是否有一个易于使用的工具用于此目的?

Wil*_*ell 5

$ ctags -x --c-kinds=f filename.c

这只给出了每个函数的起始行,但也许就足够了.

如果代码是使用相当常见的约定编写的,那么函数应该以包含}在第一列中的单行结束,因此在第一行中给出最后一行是相当容易的:

awk 'NR > first && /^}$/ { print NR; exit }' first=$FIRST_LINE filename.c
Run Code Online (Sandbox Code Playgroud)

  • 好.我尝试了最新版本并且有效.谢谢.但是,我仍然需要找到结束行号. (2认同)