Frage

Ich frage mich, ob es eine .NET-kompatible CLR war, der die CLI implementiert wurde mit (Common Language Infrastructure), zB .NET selbst, oder zumindest, wenn es irgendwelche Ressourcen, die helfen würde man mit dem Bau.

Im Grunde so etwas wie ein .NET-Programm, das Baugruppen wie MemoryStreams, analysiert die Bytecode lädt, konstruiert die Typen und die Befehle ausführt. Optional kann es auf Standard-IL mit Reflection.Emit oder aber JIT-kompiliert.

Ich will nicht zu Compile eine .NET-Sprache, die von der ursprünglichen CLR ausgeführt werden. Ich möchte eine CLR das ist geschrieben in einer .NET-Sprache (nicht unmanaged C ++ oder C, wie es in der Regel ist) und läuft CIL. , sollte es in der Lage sein, selbst zu laufen.

Irgendwelche Gedanken über die Verwendung Mono.Cecil für diese Art der Sache?

War es hilfreich?

Lösung

Ich glaube nicht, gibt es derzeit jede eigenständige .net VMs, die selbst Hosting sind aber beide Cosmos und < a href = "http://sharpos.org" rel = "noreferrer"> SharpOS in C # geschrieben .net Runtimes sind.

Es kann möglich sein, einen Teil ihres Laufzeitcode, um zusätzliche Standalone-Laufzeit wieder zu verwenden. Cosmos verwendet werden kann, eine benutzerdefinierte Anwendung auf Boot-Host: http://www.codeproject.com /KB/system/CosmosIntro.aspx

Andere Tipps

Sie sollten überprüfen, das IKVM.NET Projekt . Es enthält eine Java Virtual Machine geschrieben in .NET.

http://www.ikvm.net/

Ich weiß, es ist nicht eine tatsächliche CLR, die auf der CLR läuft, aber es ist die nächste Sache, die ich kenne, ist, was Sie wollen.

Ich bin mir nicht bewusst ein, sondern Ideen frm JVM auf JVM läuft, sollte hilfreich sein.

Wenn Sie bereit sind, Ihre Definition erweitern von „läuft CIL“ auf „JIT-Compiliert CIL in Native-Code“, dann sollten Sie die Managed Operating System Alliance -. eine Gruppe von Menschen (mich eingeschlossen) arbeiten auf die Runtime-Stücke zu schaffen notwendig, um eine verwaltete Betriebssystemkern schreiben

Zur Zeit gibt es ziemlich viel mehr zu tun, aber es ist möglich, JIT-kompiliert und einfache Methoden laufen (Win32 nur - wir verwenden derzeit P / Invoke die nativen Code Puffer erstellen)

Es ist grundsätzlich möglich, durch Technologien kombiniert:

  • Jikes RVM ist eine Java Virtual Machine-Implementierung in Java geschrieben.
  • IKVM.NET , eine Implementierung der Java-Plattform auf .NET.

Es könnte auch möglich sein, nehmen Sie Mono , kompilieren zu LLVM Bytecode, kompilieren den Bytecode mit Javascript Emscripten , und führen Sie das Javascript auf .NET beliebige von verschiedenen Interpreten verwendet wird.

Sehen Sie sich die System.Reflection.Emit Namensraum, insbesondere die ILGenerator Klasse.

Sie können IL emittieren im Fluge.

http://msdn.microsoft.com /en-us/library/system.reflection.emit.ilgenerator_members.aspx

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