Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O C++ Build Insights SDK é compatível com o Visual Studio 2017 e posterior. Para ver a documentação destas versões, defina o controlo seletor de versão do Visual Studio para este artigo para Visual Studio 2017 ou posterior. Encontra-se na parte superior do índice desta página.
A MakeDynamicAnalyzerGroup função é usada para criar um grupo de analisadores dinâmicos. Os membros de um grupo de analisadores recebem eventos um a um, da esquerda para a direita, até que todos os eventos em um rastreamento sejam analisados.
Sintaxe
auto MakeDynamicAnalyzerGroup(std::vector<IAnalyzer*> analyzers);
auto MakeDynamicAnalyzerGroup(std::vector<std::shared_ptr<IAnalyzer>> analyzers);
auto MakeDynamicAnalyzerGroup(std::vector<std::unique_ptr<IAnalyzer>> analyzers);
Parâmetros
Analisadores
Um vetor de ponteiros IAnalyzer incluídos no grupo de analisadores dinâmicos. Esses ponteiros podem ser brutos, std::unique_ptrou std::shared_ptr.
Valor de retorno
Um grupo de analisadores dinâmicos. Use a auto palavra-chave para capturar o valor de retorno.
Observações
Ao contrário dos grupos de analisadores estáticos, os membros de um grupo de analisadores dinâmicos não precisam ser conhecidos em tempo de compilação. Você pode escolher os membros do grupo do analisador em tempo de execução com base na entrada do programa ou com base em outros valores desconhecidos em tempo de compilação. Ao contrário dos grupos de analisadores estáticos, IAnalyzer os ponteiros dentro de um grupo de analisadores dinâmicos têm comportamento polimórfico e as chamadas de função virtual são despachadas corretamente. Essa flexibilidade tem o custo de um tempo de processamento de eventos possivelmente mais lento. Quando todos os membros do grupo do analisador forem conhecidos em tempo de compilação, e se você não precisar de comportamento polimórfico, considere o uso de um grupo de analisador estático. Para usar um grupo de analisadores estáticos, chame MakeStaticAnalyzerGroup em vez disso.
Um grupo de analisadores dinâmicos pode ser encapsulado dentro de um grupo de analisadores estáticos. Isso é feito passando seu endereço para MakeStaticAnalyzerGroup. Use esta técnica para passar grupos de analisadores dinâmicos para funções como Analyze, que só aceitam grupos de analisadores estáticos.