此外,Profile对话框还提供了Merge功能,用以把多次运行Profile之后的统计结果组合起来。如果你正在使用Functioncoverage功能,则会看到是否测试了所有函数;如果你正在使用Functiontiming功能,则会看到以往分析与本次分析所有合并运行的累计时间。
  若选择了Funcitontiming、Functioncoverage或Linecoverage选项,则可以在Advancedsettings中指定进一步的范围。

  比如:你希望Profile只分析SampleApp.cpp文件中特定范围内的代码,可以在Advancedsettings中填入,

  /EXCALL/INCSampleApp.cpp(30-67)

  又如:你希望file1.obj和file2.obj不参与分析,则可以在Advancedsettings中填入,

  /EXCfile1.obj/EXCfile2.obj

  再如:你希望只描述指定函数,则可以在Advancedsettings中填入,

  /SF?SampleFunc@@YAXPAH@@

  紧跟SF参数的是特定函数的修饰符名,获取该名称的简单的方式是在创建项目时生成的MAP文件中查找。

  SF,EXCALL,EXC,INC都是PREP的命令行参数,有关其他参数的详细说明可以通过在命令行提示符输入PREP/H得到。

  PLIST/T命令允许PLIST将.PBT文件内容以制表格式输出到文本文件中,该格式适合输入到电子表格或数据库中。比如:PLIST/TMYPROG>MYPROG.TXT,生成的MYPROG.TXT可以利用profiler.xlm(位于VC98/bin目录下)导入到MicrosoftExcel电子表格中。

  注意事项

  参数/INCand/EXC是指定单独的库文件(.LIB),目标文件(.OBJ),以及源程序(.C,.CPP,或者.CXX)文件。用于对单独的程序行进行调用计数以及调用覆盖的统计。你可以像这样指定源程序的行数:

  /EXCALL/INCtest.cpp(3-41,50-67)

  这个例子只进行源文件TEST.CPP中第3行到41行以及50到67行的性能测试。注意行数不包括源文件中的空行。

  如果要指定源文件中的所有行,可以这样:

  /EXCALL/INCtest.obj

  或者指定源文件中的行数为0,象这样:

  /EXCALL/INCtest.cpp(0-0)

  下面的例子从源文件的第50行进行性能测试直到文件末尾:

  /EXCALL/INCtest.cpp(50-0)