MakeStaticAnalyzerGroup

C++ Build Insights SDK 与 Visual Studio 2017 及更高版本兼容。 若要查看这些版本对应的文档,请将本文的 Visual Studio“版本”选择器控件设置为 Visual Studio 2017 或更高版本。 它位于此页面上目录表的顶部。

MakeStaticAnalyzerGroup 函数创建可以传递到 AnalyzeRelog 等函数的静态分析器组。 分析器组的成员从左到右逐个接收事件,直到分析完跟踪中的所有事件为止。

语法

template <typename... TAnalyzerPtrs>
auto MakeStaticAnalyzerGroup(TAnalyzerPtrs... analyzers);

参数

TAnalyzerPtrs
此参数始终是推导出来的。

analyzers
静态分析器组中包含的 IAnalyzer 指针的参数包。 这些指针可以是 raw、std::unique_ptrstd::shared_ptr

返回值

静态分析器组。 使用 auto 关键字来捕获返回值。

备注

与动态分析器组不同,静态分析器组的成员在编译时必须是已知的。 此外,静态分析器组包含没有多变行为的 IAnalyzer 指针。 当静态分析器组分析 Windows 事件跟踪 (ETW) 跟踪时,对 IAnalyzer 接口的调用始终解析为分析器组成员直接指向的对象。 这种灵活性损失可能会加快事件处理。

如果在编译时无法知道分析器组的成员,或者在 IAnalyzer 指针上需要多变行为,请考虑使用动态分析器组。 若要使用动态分析器组,请改为调用 MakeDynamicAnalyzerGroup