25 Punkte von joone 2023-01-20 | 3 Kommentare | Auf WhatsApp teilen
  • LLVM ist eine Compiler-Infrastruktur, die Chris Lattner ins Leben rief, um Probleme bestehender Compiler und von GCC zu verbessern, und die 2003 veröffentlicht wurde.
  • Zur Wiederverwendung der einzelnen Compiler-Komponenten wurde eine Intermediate Representation definiert.
  • Wenn als Frontend eine neue Sprache hinzugefügt wird, können Optimizer und Backend unverändert wiederverwendet werden.
  • Das Frontend kann auch separat genutzt werden, um Funktionen zur statischen Programmanalyse zu schreiben.
  • Es wurde versucht, LLVM in GCC zu integrieren, was jedoch am Widerstand der Community scheiterte.
  • Apple führte LLVM ein und nutzte das neu entwickelte Clang anstelle von GCC.
  • Chris Lattner entwickelte bei Apple auch Swift, das anstelle von Objective-C als Standardsprache für Apples Plattformen verwendet wird.

3 Kommentare

 
ragingwind 2023-01-20

Tatsächlich scheint der De-facto-Standard inzwischen eher clang zu sein. Inzwischen wird es auch von vielen großen Projekten unterstützt.

 
hohohoho 2023-01-20

Haben clang und LLVM nicht unterschiedliche Einsatzzwecke?

 
ragingwind 2023-01-21

Es ging darum, dass clang, ein Frontend, das llvm verwendet, inzwischen auch in mehreren Open-Source-Projekten anstelle von gcc eingesetzt wird. Es ist kein Vergleich zwischen den beiden. Ich denke, es reicht, wenn Sie sich Teil 2 zu den clang-Releases ansehen: https://joone.net/2023/01/…