Bewertung:

Das Buch wird als exzellente Ressource für das Verständnis von LLVM und Compilerdesign gelobt, besonders geeignet für Anfänger und diejenigen, die Clang erweitern wollen. Es bietet klare Erklärungen, praktische Anleitungen und leicht nachvollziehbare Inhalte, wodurch es sowohl für Anfänger als auch für erfahrene Entwickler von Vorteil ist. Einige Rezensenten äußern jedoch den Wunsch nach einer stärkeren Berücksichtigung fortgeschrittener Themen.
Vorteile:⬤ Gut geschrieben und strukturiert
⬤ klare Erklärungen, die für Anfänger geeignet sind
⬤ umfassender Inhalt zu LLVM
⬤ praktische Anleitungen mit Beispielen aus der Praxis
⬤ entmystifiziert komplexe Konzepte
⬤ ausgezeichnet für das Erlernen von LLVM IR
⬤ spricht ein breites Publikum an
⬤ großartige Ressource für die Erweiterung von Clang
⬤ nützliche Referenz für laufende LLVM-Arbeiten.
⬤ Einige fortgeschrittene Themen könnten tiefer erforscht werden
⬤ anfängliche Ansätze zum Erlernen von LLVM könnten immer noch erfordern, die Dokumentation oder den vorhandenen Code zu konsultieren
⬤ könnte nicht vollständig auf diejenigen eingehen, die mit anderen Sprachen als C/C++ arbeiten.
(basierend auf 7 Leserbewertungen)
LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries: Design powerful and reliable compilers using the latest libraries and tools
Erfahren Sie, wie Sie mit LLVM und Clang die nächste große Programmiersprache, einen Compiler oder einen Quellcode-Analysator entwickeln können.
Hauptmerkmale
⬤ Erforschen Sie Clang, LLVMs Middle-End und Back-End, auf pragmatische Weise.
⬤ Entwickeln Sie Ihre LLVM-Kenntnisse und machen Sie sich mit einer Vielzahl von häufigen Anwendungsfällen vertraut.
⬤ Machen Sie sich mit der LLVM-Entwicklung in der realen Welt durch verschiedene Programmierbeispiele vertraut.
Buchbeschreibung
Jeder Programmierer oder Ingenieur arbeitet irgendwann in seiner Karriere mit Compilern, um seine Anwendungen zu optimieren. Compiler konvertieren eine High-Level-Programmiersprache in maschinenausführbaren Low-Level-Code. LLVM bietet die Infrastruktur, wiederverwendbare Bibliotheken und Werkzeuge, die Entwickler benötigen, um ihre eigenen Compiler zu erstellen. Mit den umfangreichen Werkzeugen von LLVM können Sie effektiv Code für verschiedene Backends generieren und diese auch optimieren.
In diesem Buch werden Sie die LLVM-Compiler-Infrastruktur erforschen und verstehen, wie Sie sie zur Lösung verschiedener Probleme einsetzen können. Sie beginnen mit einem Blick auf die Struktur und Designphilosophie wichtiger Komponenten von LLVM und gehen allmählich zur Verwendung von Clang-Bibliotheken über, um Werkzeuge zu erstellen, die Sie bei der Analyse von High-Level-Quellcode unterstützen. Im weiteren Verlauf zeigt Ihnen das Buch, wie Sie LLVM IR verarbeiten können - eine leistungsfähige Methode, um das Quellprogramm für verschiedene Zwecke zu transformieren und zu optimieren. Mit diesem Wissen ausgestattet, werden Sie in der Lage sein, LLVM und Clang zu nutzen, um eine breite Palette von nützlichen Werkzeugen für Programmiersprachen zu erstellen, einschließlich Compilern, Interpretern, IDEs und Quellcode-Analysatoren.
Am Ende dieses LLVM-Buches werden Sie die Fähigkeiten entwickelt haben, um leistungsfähige Werkzeuge unter Verwendung des LLVM-Frameworks zu erstellen, um verschiedene Herausforderungen der realen Welt zu bewältigen.
Was Sie lernen werden
⬤ Erfahren Sie, wie das LLVM-Build-System funktioniert und wie Sie die Build-Ressourcen reduzieren können.
⬤ Machen Sie sich mit der Durchführung von benutzerdefinierten Tests mit LLVMs LIT-Framework vertraut.
⬤ Bauen Sie verschiedene Arten von Plugins und Erweiterungen für Clang.
⬤ Anpassen von Clangs Toolchain und Compilerflags.
⬤ LLVM-Pässe für den neuen PassManager schreiben.
⬤ Entdecken Sie, wie Sie LLVM IR inspizieren und modifizieren können.
⬤ Verstehen, wie man LLVM's Profil-geführte Optimierungen (PGO) Rahmen verwenden.
⬤ Benutzerdefinierte Compiler-Sanitizer erstellen.
Für wen dieses Buch ist
Dieses Buch richtet sich an Softwareentwickler aller Erfahrungsstufen, die mit LLVM arbeiten. Wenn Sie ein akademischer Forscher sind, wird dieses Buch Ihnen helfen, nützliche LLVM-Fähigkeiten in kurzer Zeit zu erlernen und Ihnen ermöglichen, Ihre Prototypen und Projekte schnell zu erstellen. Liebhaber von Programmiersprachen werden dieses Buch auch nützlich finden, um eine neue Programmiersprache mit Hilfe von LLVM zu entwickeln.