{"meta":{"title":"Informationen zur CodeQL-Codeüberprüfung für kompilierte Sprachen","intro":"Sie erfahren, wie CodeQL kompilierte Sprachen analysiert, welche Build-Optionen zur Verfügung stehen und wie Sie den Datenbankerstellungsprozess bei Bedarf anpassen können.","product":"Sicherheit und Codequalität","breadcrumbs":[{"href":"/de/code-security","title":"Sicherheit und Codequalität"},{"href":"/de/code-security/concepts","title":"Concepts"},{"href":"/de/code-security/concepts/code-scanning","title":"Codeüberprüfung"},{"href":"/de/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/de/code-security/concepts/code-scanning/codeql/about-codeql-code-scanning-for-compiled-languages","title":"CodeQL für kompilierte Sprachen"}],"documentType":"article"},"body":"# Informationen zur CodeQL-Codeüberprüfung für kompilierte Sprachen\n\nSie erfahren, wie CodeQL kompilierte Sprachen analysiert, welche Build-Optionen zur Verfügung stehen und wie Sie den Datenbankerstellungsprozess bei Bedarf anpassen können.\n\n## Informationen zum CodeQL-Analyseworkflow und kompilierten Sprachen\n\nCode scanning arbeitet mit Abfragen gegen eine oder mehrere CodeQL Datenbanken. Jede Datenbank enthält eine Darstellung des Codes, der in einer einzelnen Sprache in Ihrem Repository vorliegt. In den kompilierten Sprachen C/C++, C#, Go, Java, Kotlin, Rust,  und Swift müssen oft beim Auffüllen dieser Datenbank zunächst der Code kompiliert und Daten extrahiert werden.\n\nWenn Sie code scanning aktivieren, erzeugen sowohl das Standard- als auch das erweiterte Setup eine CodeQL Datenbank für die Analyse mit der einfachsten verfügbaren Methode. Für C/C++, C#, Java und Rust wird die Datenbank CodeQL direkt aus der Codebasis generiert, ohne dass ein Build erforderlich ist (`none` Build-Modus). Für andere kompilierte Sprachen erstellt CodeQL die Codebasis mithilfe des `autobuild` Buildmodus. Alternativ können Sie im `manual` Build-Modus explizite Build-Befehle angeben, um nur die Dateien zu analysieren, die von diesen benutzerdefinierten Befehlen erstellt werden.\n\nSie können das Zwischenspeichern von Abhängigkeiten mit CodeQL verwenden, um Abhängigkeiten als GitHub Actions-Cache zu speichern, anstatt sie aus Registrierungen herunterzuladen. Vgl. [Informationen zum Zwischenspeichern von Abhängigkeiten für CodeQL](#about-dependency-caching-for-codeql) weiter unten in diesem Artikel.\n\n## CodeQL Build-Modi\n\nDie Aktion CodeQL unterstützt drei verschiedene Build-Modi für kompilierte Sprachen:\n\n* `none`: Die CodeQL-Datenbank wird direkt auf der Grundlage der Codebasis erstellt, ohne die Codebasis zu erstellen. (Dies wird für alle interpretierten Sprachen und zusätzlich für C/C++, C#, Java und Rust unterstützt.)\n* `autobuild`: CodeQL erkennt die wahrscheinlichste Buildmethode und nutzt diese, um die Codebasis zu erstellen und eine Datenbank für die Analyse anzulegen. (Dies wird für C/C++, C#, Go, Java, Kotlin und Swift unterstützt.)\n* `manual`: Sie definieren die Buildschritte, die für die Codebasis im Workflow verwendet werden sollen. (Dies wird für C/C++, C#, Go, Java, Kotlin und Swift unterstützt.)\n\nInformationen über sprachspezifisches `autobuild` Verhalten, Anforderungen an Runner und Anleitungen für manuelle Builds finden Sie unter [CodeQL-Buildoptionen und -schritte für kompilierte Sprachen](/de/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages).\n\n## Informationen zum Zwischenspeichern von Abhängigkeiten für CodeQL\n\nSie können das Zwischenspeichern von Abhängigkeiten mit CodeQL verwenden, um Abhängigkeiten als GitHub Actions-Cache zu speichern, anstatt sie aus Registrierungen herunterzuladen. Dadurch sinkt das Risiko, dass Warnungen verloren gehen, wenn Registrierungen von Drittanbietern nicht gut funktionieren. Außerdem kann es bei Projekten mit einer großen Anzahl von Abhängigkeiten oder Projekten, die mit langsamen Registrierungen arbeiten, zu einer Leistungsverbesserung kommen. Weitere Informationen dazu, wie das Zwischenspeichern von Abhängigkeiten Workflows beschleunigen kann, finden Sie unter [Referenz zum Zwischenspeichern von Abhängigkeiten](/de/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows).\n\nDas Zwischenspeichern von Abhängigkeiten funktioniert mit allen Buildmodi und wird von Java, Go und C# unterstützt.\n\n> \\[!NOTE]\n> Durch das Zwischenspeichern von Abhängigkeiten werden CodeQL-spezifische Caches gespeichert, die Cachekontingenten für ein Repository unterliegen. Weitere Informationen findest du unter [Referenz zum Zwischenspeichern von Abhängigkeiten](/de/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy)."}