Frage

Ich habe immer diesen Traum der Schaffung eine ‚echte exe‘ von einer Skriptsprache habe. Mit der zur Verfügung von DLR-basierten Implementierungen von Python und Ruby, das ist näher an der Realität zu bekommen?

Ich möchte eine ‚echte Anwendung‘ erstellen:

  • Ein Windows Forms-App
  • A Console App
  • Windows-Dienst

Und haben die Einheit der Verteilung eine kompilierte exe.

Ist das möglich? Oder hat MS nur Dolmetscher erstellt Skriptdatei auf Basis von .NET?

Wenn Sie dies tun, wie Sie strukturieren Ihre Anwendungen / Projekte? Sind Sie mit einer Mischung aus C # und DLR-Code?

War es hilfreich?

Lösung

Ein oder Ironpython IronRuby Projekt kann mit der Maßgabe auf einem DLL oder ausführbare ganz gut und wird ‚echtes‘ Executables in jede Weise zusammengestellt werden, dass die Person, die sie ausführt, muss die entsprechende .NET Framework und Abhängigkeiten installiert (Abhängigkeiten können präsentieren sich in demselben Verzeichnis standardmäßig statt, aber der Rahmen muss installiert sein). Die Integration mit Visual Studio ist es noch nicht, aber Projekte wie IronPythonStudio nutzen Sie den kostenlosen VS Shell auf eine gute Wirkung. Die Existenz des DLR als Abhängigkeit für c # dynamisch in VS 2010, dass die Integration mit VS aus den Eisen bedeuten sollte * Gruppen werden ein leichteres Ziel und eine höhere Priorität.

Das Ergebnis ist in keiner Weise interpretiert (die CIL in Maschinencode zur Laufzeit oder über ngen jitted falls gewünscht) und bestimmte Aspekte des DLR bedeuten einige Aktionen in ähnlicher Weise aufgeschoben werden Latebinding aber stärker und entscheidend mit einigen ausgefeilte Caching-Mechanismen, dies zu ermöglichen, relativ schnell zu sein im Vergleich zu naiven Dolmetschern.

Viele traditionell interpretierte Skriptsprachen erstellen ihre eigenen VM basiert Kompilation Strategien oder Hebel bestehende (wie die JVM, die .NET CLR oder bei offenen wie die LLVM ), da dies führt zu erheblichen Leistungssteigerungen in vielen üblichen Fällen.

Im Fall der Eisen * Sprachen der Nutzen der MS CLR als Grundlage ist, dass die resultierende ausführbare 'Just Work auf die überwiegende Mehrheit der Installationen der häufigsten OS Familie. Gegensatz zu Java, wo eine JAR-Datei durch direktes Anklicken nicht ‚runnable‘ ist / oder ‚Ausführen‘ über den Shell in vielen Betriebssystemen. Die Kehrseite davon ist, dass diese Interoperabilität zu sagen, ein JVM oder LLVM-basierte Lösung im Vergleich reduziert, wo die Plattform-Unterstützung breiter ist aber zwangsläufig vielfältiger in OS Integration.

Andere Tipps

Sie können exe aus regulärem Python erstellen mit Py2exe . Aber es soll nicht alles, was Sie verhindert sein, von der Erstellung EXE-Dateien mit Ironpython mit Visual Studio oder SharpDevelop

zwar nicht unmittelbar im Zusammenhang mit Eisen * Frage könnte für jemanden zu wollen Binärdateien aus Python-Skripte interessant sein: pyinstaller

Arbeiten unter Windows (32-Bit und 64-Bit), Linux (32-bit und 64-bit) und Mac OS X (nur 32-Bit)

arbeitet unter einem beliebigen Version von Python von 1,5 bis zu 2,7

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