MakeDynamicAnalyzerGroupMakeDynamicAnalyzerGroup

Zestaw SDK usługi Build Insights jest zgodny z programem Visual Studio 2017 lub nowszym.The C++ Build Insights SDK is compatible with Visual Studio 2017 and above. Aby zapoznać się z dokumentacją tych wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na visual Studio 2017 lub visual Studio 2019.To see the documentation for these versions, set the Visual Studio Version selector control for this article to Visual Studio 2017 or Visual Studio 2019. Znajduje się w górnej części spisu treści na tej stronie.It's found at the top of the table of contents on this page.

MakeDynamicAnalyzerGroupFunkcja służy do tworzenia grupy analizatorów dynamicznych.The MakeDynamicAnalyzerGroup function is used to create a dynamic analyzer group. Członkowie grupy analizatora odbierają zdarzenia jeden od lewej do prawej, dopóki wszystkie zdarzenia w śladach nie zostaną przeanalizowane.Members of an analyzer group receive events one by one from left to right, until all events in a trace get analyzed.

SkładniaSyntax

auto MakeDynamicAnalyzerGroup(std::vector<IAnalyzer*> analyzers);

auto MakeDynamicAnalyzerGroup(std::vector<std::shared_ptr<IAnalyzer>> analyzers);

auto MakeDynamicAnalyzerGroup(std::vector<std::unique_ptr<IAnalyzer>> analyzers);

ParametryParameters

Analizatoryanalyzers
Wektor wskaźników IAnalyzer znajdujących się w grupie analizatorów dynamicznych.A vector of IAnalyzer pointers included in the dynamic analyzer group. Te wskaźniki mogą być surowe, std::unique_ptr lub std::shared_ptr .These pointers can be raw, std::unique_ptr, or std::shared_ptr.

Wartość zwracanaReturn Value

Dynamiczna grupa analizatorów.A dynamic analyzer group. Użyj auto słowa kluczowego, aby przechwycić wartość zwracaną.Use the auto keyword to capture the return value.

UwagiRemarks

W przeciwieństwie do grup analizatorów statycznych, członkowie dynamicznej grupy analizatorów nie muszą być znani w czasie kompilacji.Unlike static analyzer groups, the members of a dynamic analyzer group don't need to be known at compile time. Możesz wybrać elementy członkowskie grupy analizatora w czasie wykonywania w oparciu o dane wejściowe programu lub na podstawie innych wartości, które są nieznane w czasie kompilacji.You can choose analyzer group members at runtime based on program input, or based on other values that are unknown at compile time. W przeciwieństwie do grup analizatorów statycznych, IAnalyzer wskaźniki w grupie analizatorów dynamicznych mają zachowanie polimorficzne i wywołania funkcji wirtualnych są wysyłane poprawnie.Unlike static analyzer groups, IAnalyzer pointers within a dynamic analyzer group have polymorphic behavior, and virtual function calls are dispatched correctly. Ta elastyczność jest kosztem prawdopodobnie wolniejszego czasu przetwarzania zdarzeń.This flexibility comes at the cost of a possibly slower event processing time. Gdy wszystkie elementy członkowskie grupy analizatorów są znane w czasie kompilacji, a jeśli nie potrzebujesz zachowań polimorficznych, należy rozważyć użycie statycznej grupy analizatorów.When all analyzer group members are known at compile time, and if you don't need polymorphic behavior, consider using a static analyzer group. Aby użyć statycznej grupy analizatora, MakeStaticAnalyzerGroup zamiast tego wywołaj.To use a static analyzer group, call MakeStaticAnalyzerGroup instead.

Dynamiczna grupa analizatorów może być hermetyzowana wewnątrz statycznej grupy analizatorów.A dynamic analyzer group can be encapsulated inside a static analyzer group. Jest to wykonywane przez przekazanie jego adresu do MakeStaticAnalyzerGroup .It's done by passing its address to MakeStaticAnalyzerGroup. Ta technika umożliwia przekazanie grup analizatorów dynamicznych do funkcji takich jak Analyze , które akceptują tylko statyczne grupy analizatorów.Use this technique for passing dynamic analyzer groups to functions such as Analyze, which only accept static analyzer groups.