{"meta":{"title":"Sobre a verificação de código CodeQL para idiomas compilados","intro":"Entenda como CodeQL analisa idiomas compilados, as opções de build disponíveis e saiba como você pode personalizar o processo de geração de banco de dados, se necessário.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/code-security/concepts","title":"Concepts"},{"href":"/pt/code-security/concepts/code-scanning","title":"Varredura de código"},{"href":"/pt/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/pt/code-security/concepts/code-scanning/codeql/about-codeql-code-scanning-for-compiled-languages","title":"CodeQL para linguagens compiladas"}],"documentType":"article"},"body":"# Sobre a verificação de código CodeQL para idiomas compilados\n\nEntenda como CodeQL analisa idiomas compilados, as opções de build disponíveis e saiba como você pode personalizar o processo de geração de banco de dados, se necessário.\n\n## Sobre Fluxo de trabalho de análise do CodeQL e linguagens compiladas\n\nCode scanning funciona executando consultas em um ou mais CodeQL bancos de dados. Cada banco de dados contém uma representação do código em uma linguagem única no seu repositório. Para os idiomas compilados C/C++, C#, Go, Java, Kotlin, Rust, and Swift, o processo de preencher esse banco de dados geralmente envolve a criação do código e a extração de dados.\n\nQuando você habilita code scanning, a configuração padrão e avançada gera um CodeQL banco de dados para análise usando o método mais simples disponível. Para C/C++, C#, Java e Rust, o banco de dados CodeQL é gerado diretamente da base de código sem a necessidade de compilação (`none` modo de compilação). Para outras linguagens compiladas, CodeQL cria a base de código usando o `autobuild` modo de build. Como alternativa, é possível usar o `manual` modo de compilação para especificar comandos de compilação explícitos para analisar apenas os arquivos criados por esses comandos personalizados.\n\nVocê pode usar o cache de dependências com CodeQL para armazenar as dependências como um GitHub Actions cache ao invés de baixá-las dos registros. Consulte [Sobre o cache de dependência para CodeQL](#about-dependency-caching-for-codeql) mais adiante neste artigo.\n\n## CodeQL modos de construção\n\nA CodeQL ação dá suporte a três modos de build diferentes para idiomas compilados:\n\n* `none` – o CodeQL banco de dados é criado diretamente da base de código sem criar a base de código (com suporte para todos os idiomas interpretados e, além disso, com suporte para C/C++, C#, Java e Rust).\n* `autobuild`\n\n-\n\nCodeQL detecta o método de build mais provável e usa isso para tentar criar a base de código e criar um banco de dados para análise (com suporte para C/C++, C#, Go, Java, Kotlin e Swift).\n\n* `manual` – você define as etapas de build a serem usadas para a base de código no fluxo de trabalho (com suporte para C/C++, C#, Go, Java, Kotlin e Swift).\n\nPara obter informações sobre o comportamento específico de `autobuild`, requisitos do executor e orientações para builds manuais, consulte [Opções e etapas de build do CodeQL para idiomas compilados](/pt/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages).\n\n## Sobre o cache de dependência para CodeQL\n\nVocê pode usar o cache de dependências com CodeQL para armazenar as dependências como um GitHub Actions cache ao invés de baixá-las dos registros. Isso reduz o risco de perda de alertas quando registros de terceiros não funcionam bem e pode resultar em uma melhoria de desempenho para projetos que possuem um grande número de dependências ou que trabalham com registros lentos. Para saber mais sobre como o armazenamento em cache de dependências pode acelerar os fluxos de trabalho, consulte [Referência do cache de dependência](/pt/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows).\n\nO cache de dependência funciona em todos os modos de build e é suportado por Java, Go e C#.\n\n> \\[!NOTE]\n> O uso do cache de dependência armazenará CodeQLcaches específicos que estarão sujeitos a cotas de cache para um repositório. Confira [Referência do cache de dependência](/pt/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy)."}