【发布时间】:2015-03-19 09:17:46
【问题描述】:
我听说有一些用 C++ 编写的类/库可用于解析 C/C++ 代码。我需要的是从源文件中读取所有函数并进行比较,以了解它们之间的区别。我真的不知道我怎么能做到这一点。我能用的只有头文件/库/类,没有软件解决方案。
【问题讨论】:
-
不完全是,但是是的,非常接近。我需要编写自己的工具。我需要的是从 2 个源文件中获取函数名称并比较它们之间是否有变化。但我真的不知道如何正确地做到这一点。
-
只是为了确定,您实际上是指在您自己的 C++ 代码中执行此操作,而不仅仅是一般意义上的? (因为那里有相当不错的差异工具......)
-
不能只用
grep和diff来解析比较吧?如果您只需要查看更改的位置,而不是对这些更改的解释,那么如果使用得当,这些实用程序应该可以完成这项工作。 -
clang提供转储 AST 的功能:clang.llvm.org/docs/IntroductionToTheClangAST.html