{"meta":{"title":"Acerca del análisis de código de CodeQL para lenguajes compilados","intro":"Comprenda cómo CodeQL analiza los lenguajes compilados, las opciones de compilación disponibles y aprenda a personalizar el proceso de generación de bases de datos si es necesario.","product":"Seguridad y calidad del código","breadcrumbs":[{"href":"/es/code-security","title":"Seguridad y calidad del código"},{"href":"/es/code-security/concepts","title":"Concepts"},{"href":"/es/code-security/concepts/code-scanning","title":"Análisis de código"},{"href":"/es/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/es/code-security/concepts/code-scanning/codeql/about-codeql-code-scanning-for-compiled-languages","title":"CodeQL para lenguajes compilados"}],"documentType":"article"},"body":"# Acerca del análisis de código de CodeQL para lenguajes compilados\n\nComprenda cómo CodeQL analiza los lenguajes compilados, las opciones de compilación disponibles y aprenda a personalizar el proceso de generación de bases de datos si es necesario.\n\n## Acerca de los lenguajes Flujo de trabajo de análisis de CodeQL y los lenguajes compilados\n\nCode scanning funciona ejecutando consultas en una o varias CodeQL bases de datos. Cada base de datos contiene una representación del código de su repositorio en un solo lenguaje. Para los lenguajes C/C++, C#, Go, Java, Kotlin, Rust, and Swiftcompilados, el proceso de rellenar esta base de datos suele implicar la creación del código y la extracción de datos.\n\nAl habilitar code scanning, la configuración predeterminada y avanzada genera una CodeQL base de datos para su análisis mediante el método más sencillo disponible. Para C/C++, C#, Java y Rust, la CodeQL base de datos se genera directamente desde el código base sin necesidad de una compilación (`none` modo de compilación). Para otros lenguajes compilados, CodeQL compila el código base mediante el `autobuild` modo de compilación. Alternativamente, puede usar el modo de compilación `manual` para especificar comandos de compilación explícitos para analizar solo los archivos que se compilan mediante estos comandos personalizados.\n\nPuede usar el almacenamiento en caché de dependencias con CodeQL para almacenar dependencias como una GitHub Actions memoria caché en lugar de descargarlas de registros. Consulte [Acerca del almacenamiento en caché de dependencias para CodeQL](#about-dependency-caching-for-codeql) más adelante en este artículo.\n\n## CodeQL modos de compilación\n\nLa CodeQL acción admite tres modos de compilación diferentes para los lenguajes compilados:\n\n* `none` : la CodeQL base de datos se crea directamente a partir del código base sin compilar el código base (compatible con todos los lenguajes interpretados y, además, compatible con C/C++, C#, Java y Rust).\n* `autobuild`\n\n- CodeQL detecta el método de compilación más probable y lo usa para intentar compilar el código base y crear una base de datos para su análisis (compatible con C/C++, C#, Go, Java, Kotlin y Swift).\n\n* `manual` : se definen los pasos de compilación que se usarán para el código base en el flujo de trabajo (compatible con C/C++, C#, Go, Java, Kotlin y Swift).\n\nPara obtener información sobre el comportamiento específico `autobuild` del lenguaje, los requisitos de ejecutor y las instrucciones para las compilaciones manuales, consulte [Opciones y pasos de compilación de CodeQL para lenguajes compilados](/es/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages).\n\n## Acerca del almacenamiento en caché de dependencias para CodeQL\n\nPuede usar el almacenamiento en caché de dependencias con CodeQL para almacenar dependencias como una GitHub Actions memoria caché en lugar de descargarlas de registros. Esto reduce el riesgo de pérdida de alertas cuando los registros de terceros no funcionan bien y puede producir una mejora en el rendimiento en los proyectos que tienen un gran número de dependencias o funcionan con registros lentos. Para obtener más información sobre cómo el almacenamiento en caché de dependencias puede acelerar los flujos de trabajo, consulte [Referencia de almacenamiento en caché de dependencias](/es/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows).\n\nEl almacenamiento en caché de dependencias funciona con todos los modos de compilación y es compatible con Java, Go y C#.\n\n> \\[!NOTE]\n> Utilizar el almacenamiento en caché de dependencias almacenará cachés específicas de CodeQL que estarán sujetas a cuotas de caché para un repositorio. Consulta [Referencia de almacenamiento en caché de dependencias](/es/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy)."}