是否有适用于C++的工作语义差异工具?

CsT*_*mas 9 c++ diff semantics

我发现只有废弃的项目,理论和功能列表.但我找不到可以比较两个C++源文件并显示语义差异的工具.

当然,我不会比较两个不相关的文件,或者在10年的开发和维护期间积累的变化.但是,通常在代码审查中讨论的更改将更容易理解,如果与正确的含义一起呈现,而不是在字符/字/行级别进行文本更改

JDo*_*ner -2

一般来说,这是不可能的。一个程序甚至无法判断另一个程序是否会终止(著名的停止问题)。对于更有限的程序(有限有界循环,也许还有其他约束),您可以做更多,但这是繁重的事情,并且语言必须不是 C++,而是不那么棘手的语言,有限的子集或更简单的语言。这可能就是为什么你找不到任何比开始更多的事情。