KlärungKreuzkompilierung vs Virtual Machines
Als ich Kreuz erwähnen Kompilieren ich von einer Sprache in eine andere bedeuten (man denke GWT), anstatt von einer Host-Plattform auf eine Zielplattform.
Hintergrund
ich eine arabische Programmiersprache entwickle, die ich Java kompiliert Kreuz, gespeichert diese mir die plattformspezifische Probleme. Jetzt musste ich das in die Warteschleife setzen und aus verschiedenen Gründen zum Quercompilieren auf C setzen.
Ich möchte eine einzelne Bibliothek entwickeln, die beim Kompilieren durch eine äquivalente Bibliothek des Systems ersetzt wird, auf dem sie ausgeführt wird. Wenn der Programmierer beispielsweise eine GUI-Zeichenfunktion in die arabische Programmiersprache schreibt und kompiliert, würde er unter WinCode kompiliert werden, wenn er unter Windows kompiliert wird, GTK + unter Gnome, Qt unter KDE usw. Derselbe Ansatz wird auch verwendet auch für andere Bibliotheken verwendet werden.
Frage
Lohnt es sich durch all diese Schwierigkeiten gehen mit einem kompilierten ausführbaren am Ende oder bin ich mit einem virtuellen Maschine Ansatz besser? Vor- und Nachteile der Kommissionierung (aus der Perspektive des Sprachentwicklers und nicht des Programmierers, der die Sprache verwendet)? Gibt es noch andere Faktoren, die ich berücksichtigen muss?
würde Jegliche Bezug Links zur weiteren Lektüre sehr zu schätzen :)
Sie würden normalerweise sagen: "Ich entwickle einen Compiler für FooLang, der * targets * java oder c" anstatt "cross-compile". – dmckee
Angesichts der Anzahl der Male, die ich "Cross-Compile" in der Post erwähne, könnten Sie sehen, warum ich die kürzere Wahl bevorzugen würde, und da Google und andere den Begriff im selben Kontext verwenden, nahm ich an, dass er gültig ist. – Saif
Sie könnten einfach "kompilieren" sagen, da seine normale Bedeutung der Situation entspricht und noch kürzer ist. =) – rakslice