对于某些项目,我想制作公共方法和函数列表等统计信息。很棒的选择可能是使用CppDepend及其内置查询语言。
我们(传统)项目群有应用程序。每个应用程序都在其自己的目录中,具有项目文件和一些带有源的子目录。某些子目录在多个应用程序中共享(使用svn:externals)。我的目标是只在这样的共享目录中计算方法和函数一次。
例如,如果文件my_file.h包含三个函数并且签出到三个不同的本地目录,我仍然只想将3添加到我的统计信息而不是9。
有没有办法告诉cpp哪些目录/文件签出到多个本地目录只计算一次?
答案 0 :(得分:1)
为避免计算相同的方法,您可以将不同的过滤器添加到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