如何告诉 Cppdepend 一个目录有多个本地副本

How to tell Cppdepend a directory has multiple local copies

对于某些项目,我想统计 public 方法和函数的列表。不错的选择可能是使用 CppDepend 和它的内置查询语言。

我们的(遗留)项目库有应用程序。每个应用程序都在它自己的目录中,有项目文件和一些带有源代码的子目录。某些子目录在多个应用程序中共享(使用 svn:externals)。我的目标是只计算此类共享目录中的方法和函数一次。

例如,如果文件 my_file.h 包含三个函数并检出到三个不同的本地目录,我仍然想在我的统计中只添加 3 个而不是 9 个。

有没有办法告诉 cpp 什么 directories/files 被检出到多个本地目录只计算一次?

为了避免计算相同的方法,您可以像这样将不同的过滤器添加到 cqlinq 查询中:

from m in JustMyCode.Methods.Distinct(m=>m.FullName)
select m

所以每个方法都会被统计一次,或者你可以通过添加源文件名的过滤器来改进查询以避免过滤签名相同但不相同的方法

from m in JustMyCode.Methods.Distinct(m=>new {m.FullName,m.SourceDecl.SourceFile.FileName})
select m