nwcc ist eine kleine C-Compiler für Unix-Systeme, die ich geschrieben habe in meiner Freizeit, Spaß und mir selbst beweisen, dass ich es könnte. Ich begann das Projekt im August 2003, aber da hatte ich einen Job und ein Leben und ein paar andere Hobby-Code-Projekte, es hat mich bis zum Herbst 2005, um sie mit verschiedenen Konstrukte der Sprache C zu arbeiten.
Also, was neue nwcc an den Tisch bringen wird? Am wichtigsten ist, neue Code: Ich schrieb alles von Grund auf - einschließlich der Lexer, Parser und Backend.
Der Code der nwcc ist in C geschrieben
Diese Mitteilung ist nicht für schwere Gebrauch bestimmt sind, aber zumindest nwcc ist stark genug, um sich selbst (das Ergebnis davon kann nwcc sowie kompilieren) und sollte daher in der Lage, sich mit zumindest einige kleine Programme zu kompilieren. Es gibt noch einige Dinge fehlen / gebrochen, aber die Dinge sind die Verbesserung fast jeden Tag (ich meine Änderungen zu SF laden, wenn ich hinzufügen / fix etwas von Interesse.)
Es braucht eine Menge Arbeit, um auch eine Teilmenge der C-Sprache zu kompilieren, so dass die Tatsache, dass etwas fehlt oder falsch ist in nwcc getan bedeutet nicht, dass ich nicht zu diesem speziellen Bereich der C-Sprache oder Compiler-Design kümmern ; Es bedeutet nur, dass ich nicht um, um es richtig, ja überhaupt noch bekommen
Eigenschaften .
- Es gibt einige C Sprachfeatures fehlen; Vor allem die Unterstützung für Floating-Point, Bitfelder und ein paar andere Dinge. Viele andere Dinge sind kaputt (es gibt wahrscheinlich Fehler in so ziemlich jeder Sprache-Funktion durch nwcc implementiert)
- Es sind keine verfügt über eine Netzentwickler und den etablierten Haupt Compiler verwendet hielte interessant, noch (außer, vielleicht, den Stack-Schutzfunktion.) Es tut uns leid. Es gibt nichts über nur dumm Zusammenstellung; Keine Unterstützung für die Erstellung von gemeinsam genutzten Bibliotheken, keine Unterstützung für das Debugging und Profiling, kein gar nichts
- Es gibt derzeit nur ein Backend für 80x86-Prozessoren (der Code generiert für die NASM Netwide Assembler und arbeitet auf Linux, FreeBSD und OpenBSD)
- Es gibt absolut keine Optimierung, also den erzeugten Code ist sehr langsam im Vergleich mit dem Ausgang des etablierten Compilern. Ich werde auf diese bald zu arbeiten, aber Sie sollten verstehen, dass mein Hauptanliegen jetzt sind Code Richtigkeit und Portabilität statt Geschwindigkeit (es ist schwer genug, um langsam Code funktioniert!)
Was ist neu in dieser Pressemitteilung:
- Diese Version behebt einige (wirklich nicht zu viele!) allgemeine und PIC-spezifische Probleme, die angetroffen wurden beim Kompilieren Tcl und mksh.
Was ist neu in Version 0.7.8:
- Diese Version bietet Unterstützung für Mac OS X auf x86 und AMD64 und NetBSD auf x86-Systemen. Verschiedene plattformunabhängige Fehler wurden ebenfalls behoben.
Was ist neu in Version 0.7.7:
- Diese Version bietet Unterstützung für Linux / PPC64 und Fixes viele PPC-spezifische Fehler.
Kommentare nicht gefunden