2016-08-14 2 views

Antwort

2

Bytecode sowohl für Module und Programme in eine Datei zu schreiben, ist noch nicht offiziell unterstützt. Daher die fehlende Dokumentation für --target.

5

Sie können --target= in der perl6-Befehlszeile verwenden, um eine visuell lesbare Ablaufverfolgung für jede Stufe des Compilers anzuzeigen. Wenn Sie auf JVM einen "kompilierten" Bytecode-Ausgang haben möchten, können Sie --target=jar verwenden und dann einen Blick hinein werfen. Aber letztendlich kompiliert Perl 6 im laufenden Betrieb, wenn nicht anders gefragt. Es hinterlässt eine Bytecode-Darstellung, die in den Bibliothekspfadverzeichnissen jedes "CompUnit" zwischengespeichert wird, so dass der Kompilierungsschritt das nächste Mal schneller ist. Dies kann in .precomp Verzeichnisse gesehen werden. Der Precomp-Cache ist sehr schwierig manuell zu verwenden, da Perl 6 alle Comp-Einheiten hasht und indiziert. Dies ist so, dass Bibliotheken mit dem gleichen Namen aber unterschiedlicher Version und Autor Seite an Seite sitzen können. Auf MoarVM gibt es kein Äquivalent zu --target = jar, aber im Verzeichnis .precomp können Sie die rohen Bytecode-Dateien sehen, die direkt von moar ausgeführt werden können, wenn Sie die Laufzeiteinstellung verknüpfen.

+1

'--target = moar' ist eine Sache – ugexe

+0

Ist Ziel Moar Paket alles auf, so dass Sie eine einzige Datei haben, die von MoarVM ausführbar ist? Oder ist es das Äquivalent der Klassendatei, die im .precomp gefunden wird –

Verwandte Themen