Frage

Gibt es eine Arbeit einen C # Compiler zu erstellen getan nativen exe zu produzieren? z.B. der Ausgang ist eine native exe und nicht eine .NET-Assembly.

War es hilfreich?

Lösung

Warum nicht NGen versuchen. Für exemple Paint.NET Talisma verwendet nativen Bilder nach der Installation zu erstellen.

Andere Tipps

Wenn Sie eine eigenständige Bereitstellung mögen (dh ohne den Rahmen zu benötigen), gibt es ein paar Optionen - siehe hier . Allerdings bin ich nicht bewusst, irgendetwas, das zuverlässig rein nicht verwalteten Code produzieren. Was ist der Use-Case Sie im Kopf haben? Für Embedded etc gibt es Mikro-Rahmen, CF, etc.

Es gibt eine solche Lösung für Mono, das ist 'mkbundle' - statische Linken anstelle der Verwendung von JIT / CLR / GAC, ich denke

Sie würden immer noch die Bibliotheken in irgendeiner Form zur Verfügung stellen müssen, um so entweder Sie würden immer noch eine Laufzeit installiert haben, oder die native exe würde riesig sein müssen.

Es gibt zwei aktive Projekte. Sie sind in Richtung CIL-basierte Betriebssysteme ausgerichtet, aber die aktuelle Iteration von MOSA Compiler-Framework läuft auf Windows (Unit-Tests etc.) und hat Boot-Unterstützung beschränkt. Cosmos verwendet, um eine Windows-Architektur und ein paar Stecker haben, aber sie tun Windows-nicht mehr -. Nur in eine CIL-Umgebung booten

Cosmos ist viel weitere entlang jedoch haben sie so ziemlich genagelt Objektträger. MOSA ist nur Bare-Metal (statische Methoden) für jetzt - obwohl sie die ‚richtige‘ Art und Weise und auch stückgeprüft gemacht wird (und ich denke, schnelle Fortschritte zu machen). Geben Sie ihm ein paar Monate und dann gehen Sie zurück und haben einen Blick.

Niether hat einen JIT im Moment (die, da Sie nicht eine spielt keine Rolle wollen). Es ist alles in Maschinencode vor der Zeit zusammengestellt.

.NET Linker

Sie könnte dies interessant finden und zu lesen: .NET Internals und Native Kompilieren .

Beachten Sie, dass für die Reflexion eine Vielzahl von Informationen über den Code zu arbeiten, wird immer vorlegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top