Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Build Insights SDK per C++ è compatibile con Visual Studio 2017 e versioni successive. Per visualizzare la documentazione per queste versioni, impostare il controllo selettore della versione di Visual Studio per questo articolo su Visual Studio 2017 o versione successiva. Si trova nella parte superiore del sommario in questa pagina.
La MakeDynamicAnalyzerGroup
funzione viene usata per creare un gruppo di analizzatori dinamici. I membri di un gruppo analizzatore ricevono eventi uno per uno da sinistra a destra, fino a quando non vengono analizzati tutti gli eventi in una traccia.
Sintassi
auto MakeDynamicAnalyzerGroup(std::vector<IAnalyzer*> analyzers);
auto MakeDynamicAnalyzerGroup(std::vector<std::shared_ptr<IAnalyzer>> analyzers);
auto MakeDynamicAnalyzerGroup(std::vector<std::unique_ptr<IAnalyzer>> analyzers);
Parametri
Analizzatori
Vettore di puntatori IAnalyzer inclusi nel gruppo analizzatore dinamico. Questi puntatori possono essere non elaborati, std::unique_ptr
o std::shared_ptr
.
Valore restituito
Gruppo di analizzatori dinamici. Usare la auto
parola chiave per acquisire il valore restituito.
Osservazioni:
A differenza dei gruppi di analizzatori statici, i membri di un gruppo analizzatore dinamico non devono essere noti in fase di compilazione. È possibile scegliere i membri del gruppo di analizzatori in fase di esecuzione in base all'input del programma o in base ad altri valori sconosciuti in fase di compilazione. A differenza dei gruppi di analizzatori statici, IAnalyzer
i puntatori all'interno di un gruppo analizzatore dinamico hanno un comportamento polimorfico e le chiamate di funzione virtuale vengono inviate correttamente. Questa flessibilità comporta un tempo di elaborazione degli eventi probabilmente più lento. Quando tutti i membri del gruppo analizzatore sono noti in fase di compilazione e, se non è necessario un comportamento polimorfico, è consigliabile usare un gruppo di analizzatori statici. Per usare un gruppo di analizzatori statici, chiamare MakeStaticAnalyzerGroup
invece.
Un gruppo analizzatore dinamico può essere incapsulato all'interno di un gruppo di analizzatori statici. Questa operazione viene eseguita passando il relativo indirizzo a MakeStaticAnalyzerGroup
. Usare questa tecnica per passare gruppi di analizzatori dinamici a funzioni come Analyze
, che accettano solo gruppi di analizzatori statici.