4 Punkte von GN⁺ 2024-06-25 | 2 Kommentare | Auf WhatsApp teilen
  • Eine Bibliothek und Toolchain, die beim Bauen von C-Code dafür sorgt, dass er unter Windows/Mac/Linux/BSD usw. überall ausgeführt werden kann
  • Kein Interpreter/keine virtuelle Maschine erforderlich
  • GCC und Clang werden neu zusammengesetzt, um ein POSIX-Polyglot-Format zu erzeugen, das auf jedem Betriebssystem nativ ausgeführt wird

Verbesserungen in 3.5

  • Speicherabbild-Implementierung: Eine hochwertigere Implementierung von Memory Maps
  • Unterstützung für Lua 5.4.6 (wird vom enthaltenen Redbean-Webserver verwendet)
  • Unterstützung für das Flag -x LANG
  • Große Fortschritte bei der Neuimplementierung der C++-STL
    • ctl::string-Optimierung: Verschiedene Optimierungen einschließlich Small-String-Optimization wurden durchgeführt.
    • Einführung von ctl::set und ctl::map: Neue Datenstrukturen wurden eingeführt.
    • Implementierung von ctl::unique_ptr: Unterstützung für Unique Pointer wurde hinzugefügt.
    • Bereitstellung eines minimalen new.h: Eine minimale new.h-Datei wird bereitgestellt.
    • Korrektur der _Atomic-Definition: Die _Atomic-Definition in C++ wurde korrigiert.
    • Weitere Optimierungen und Fehlerbehebungen: Verschiedene Optimierungen und Bugfixes wurden vorgenommen.

Verbesserungen am GitHub-Entwicklungsprozess

  • Hinzufügen einer Labeler-Action: Die GitHub-Labeler-Action wurde hinzugefügt.
  • Hinzufügen von Issue-Templates: Issue-Templates wurden hinzugefügt.
  • Entfernen des Test-Labels: Das Test-Label wurde aus der Konfigurationsdatei des Labelers entfernt.

2 Kommentare

 
GN⁺ 2024-06-25
Hacker-News-Kommentare
  • Ich hoffe auf eine Toolchain, die Python mit APE, pex, shiv, pyinstaller und dem Build-System pants kombiniert, um ausführbare Python-Einzeldateien zu erstellen.
  • In Kombination mit Graal Native könnte man damit Clojure-/Java-Binärdateien ohne VM überall lauffähig machen.
  • Ich habe mir die beiden Commits angesehen, und beide Zeilen haben genau die gleiche Zeichenzahl. Ich mag solche Arbeit, aber einfach ist sie nicht.
  • Das Projekt ist zwar cool, aber ich frage mich, ob es außer der Vereinfachung des Build-Prozesses durch ein einzelnes Binary noch andere Gründe dafür gibt. Mich würde interessieren, wie es im Vergleich zu musl und glibc bei Performance, statischer Linkbarkeit und Standardkonformität aussieht.
  • Bei Cosmopolitan habe ich immer ein leicht mulmiges Gefühl. Cooler Hack, aber es fühlt sich so an, als dürfte es eigentlich nicht funktionieren.
  • Das Repository enthält auch den Quellcode von lua und redbean, einem coolen Webserver mit vielen Funktionen.
  • Ich habe einmal versucht, mit cgo kompiliertes Go auf alten Geräten auszuführen, und schließlich aufgegeben. Ich frage mich, ob es jemandem gelungen ist, ein cgo-Binary im Cosmopolitan-Stil zu bauen. Da Cosmopolitan libc Linux 2.6 unterstützt, macht das Hoffnung.
  • Ich verfolge dieses Projekt seit fast vier Jahren, weiß aber immer noch nicht, wie ernst Cosmopolitan/αpε eigentlich als Projekt zu nehmen ist.
  • Es macht Spaß, „Actually Portable Executable Header“ zu lesen.
  • Ich frage mich, ob geplant ist, Cosmopolitan libc auch ohne APE auszuliefern. Im Moment wirkt es eher wie ein Framework plus Toolchain.