我希望能够分析 .c 文件并
- 列出文件中的所有方法
- 列出每个方法的行数
IE:如果文件是(使用伪代码):
int add(){
....Function Actions 1
....Function Actions 2
....Function Actions 3
}
int subtract{
....Function Action 1
}
结果会是这样的:
add -3
subtract -1
我一直在使用 CTAGS 做其他事情,但我不确定它是否具有此功能。
谢谢大家。
最佳答案
您可以通过自定义 GCC 来执行类似的操作。您可以轻松地编码 MELT为此目的进行扩展。 MELT 是一种扩展 GCC 的领域特定语言。
我建议测量每个函数的 Gimple 指令数量。这可能比计算行数更有意义。
您可能可以将最后一个 Gimple 的行号减去第一个 Gimple 的行号。
行数并没有真正的意义(想象一下在大括号之前或之后的注释,你如何计算它们?并且还有可以扩展到许多行、语句甚至函数的宏..)。例如,D.Wheeler 的 SLOCcount 给出的结果与例如厕所
。
如果文件适当缩进,您可能需要测量第 1 列左大括号和右大括号之间的差异。
关于c - 获取c程序中的所有函数及其长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753809/