MakeStaticAnalyzerGroup
C++ Build Insights SDK 与 Visual Studio 2017 及更高版本兼容。 若要查看这些版本对应的文档,请将本文的 Visual Studio“版本”选择器控件设置为 Visual Studio 2017 或更高版本。 它位于此页面上目录表的顶部。
MakeStaticAnalyzerGroup
函数创建可以传递到 Analyze
或 Relog
等函数的静态分析器组。 分析器组的成员从左到右逐个接收事件,直到分析完跟踪中的所有事件为止。
语法
template <typename... TAnalyzerPtrs>
auto MakeStaticAnalyzerGroup(TAnalyzerPtrs... analyzers);
参数
TAnalyzerPtrs
此参数始终是推导出来的。
analyzers
静态分析器组中包含的 IAnalyzer
指针的参数包。 这些指针可以是 raw、std::unique_ptr
或 std::shared_ptr
。
返回值
静态分析器组。 使用 auto
关键字来捕获返回值。
备注
与动态分析器组不同,静态分析器组的成员在编译时必须是已知的。 此外,静态分析器组包含没有多变行为的 IAnalyzer
指针。 当静态分析器组分析 Windows 事件跟踪 (ETW) 跟踪时,对 IAnalyzer
接口的调用始终解析为分析器组成员直接指向的对象。 这种灵活性损失可能会加快事件处理。
如果在编译时无法知道分析器组的成员,或者在 IAnalyzer
指针上需要多变行为,请考虑使用动态分析器组。 若要使用动态分析器组,请改为调用 MakeDynamicAnalyzerGroup
。