LLVM

Was ist LLVM?

Was ist LLVM?

Was ist LLVM und warum ist es nützlich??

Unter dem Dach von LLVM arbeiten mehrere Miniprojekte. Die Mini-Projekte beschäftigen sich hauptsächlich mit Compiler-Technologien. Es scheint einige Verwirrung bezüglich der LLVM-Namensgebung zu geben. Die Leute gehen fälschlicherweise davon aus, dass es mit virtuellen Maschinen zusammenhängt. Es gibt keine Verbindung. Der Begriff LLVM steht für nichts. Es ist nur ein Name, der zu Beginn des Projekts verwendet wurde.

Das LLVM-Projekt wird unter der „UIUC“ BSD-Style-Lizenz betrieben. Das Projekt entstand an der University of Illinois. Seitdem hat es an Popularität gewonnen und wurde für eine Vielzahl von Projekten verwendet. Besonders beliebt ist es in akademischen Kreisen. Das Hauptziel des Projekts ist die Bereitstellung von SSA-basierter statischer und dynamischer Kompilierung verschiedener Programmiersprachen.

Hier das Miniprojekt von LLVM:

  1. LLVM-Kern: Die Kernbibliotheken bieten Optimierer- und Codegenerierungsunterstützung für CPUs. LLVM IR (Intermediate Representation) bildet die Grundlage für die Bibliotheken. Die Community hat bei der Dokumentation des LLVM-Kerns gute Arbeit geleistet. So können Sie diese Bibliotheken ganz einfach verwenden, um Ihre neue Programmiersprache zu erstellen oder einen Port eines bestehenden Compilers zu erstellen. Wenn Sie sich in diese Gebiete wagen möchten, ist LLVM Core ein guter Ausgangspunkt.
  1. Klingeln: Es ist ein Compiler, der dreimal schneller ist als GCC. Es zielt auf C, C++ und Objective-C ab. Die Clang-Fehler und -Warnungen sind leichter zu verstehen. Es verfügt auch über ein statisches Analysetool. Das statische Analysetool selbst wird mit dem Clang-Compiler erstellt.
  1. LLDB: Es ist ein Debugger. Es ist schneller und effizienter als GDB. Der Debugger wird mit Clang und LLVM Core erstellt.
  1. libc++ und libc++ ABI: Bessere Implementierung von C++ STD.
  1. Compiler-rt: Es bietet Unterstützung für Low-Level-Code. Es verfügt auch über Laufzeitbibliotheken für dynamische Tests.
  1. OpenMP: Open Multi-Processing (OpenMP) ist eine API, die beim Multithreading hilft. Dieses Projekt unterstützt die native Laufzeitumgebung für OpenMP zur Verwendung mit Clang.
  1. Polly: In der LLVM-Welt ist es ein High-Level-Loop- und Datenlokalitätsoptimierer. Es optimiert Speicherzugriffsmuster von Programmen.
  1. libclc: Eine Bibliothek für OpenCL.
  1. klee: Es ist eine symbolische virtuelle Maschine. Sie können klee verwenden, um alle dynamischen Pfade in einem Programm zu durchlaufen, um Probleme zu finden. Die Maschine kann automatisierte Testfälle erstellen.
  1. SICHERHEITSCODE: Es ist ein Compiler für C/C++, um die Speichersicherheit zu gewährleisten. Es ist ein großartiges Werkzeug für Cybersicherheitsexperten, um es zu erkunden. Es kann bei der Erkennung von Speichersicherheitsfehlern helfen.
  1. lld: Es baut einen Linker für die Arbeit mit Clang und LLVM.

Das LLVM hat den Ruf, sauberere Binärdateien zu erstellen als GCC. Außerdem verfügt LLVM über externe Projekte, mit denen Python, Haskell, PHP, LUA, Ruby und andere Sprachen kompiliert werden können. LLVM gilt als vielseitige, flexible und wiederverwendbare Lösung. Daher wird es in der Entwickler-Community immer beliebter. Es wird als JIT-Compiler für eingebettete Sprachen verwendet. LLVM wird auch für Supercomputer verwendet. Die breite Unterstützung durch die Entwickler-Community macht es zu einem robusten Tool.

Weitere Studie:

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...