明確化
クロス コンパイルについて言及するとき、ホスト プラットフォームからターゲット プラットフォームへではなく、ある言語から別の言語 (GWT を考えてください) へのコンパイルを意味します。
バックグラウンド
私は Java にクロスコンパイルしたアラビア語プログラミング言語を開発しています。これにより、プラットフォーム固有の手間が省けました。今、私はこれを保留にする必要があり、さまざまな理由でCへのクロス コンパイルに切り替えました。
コンパイル時に実行されているシステムの同等のライブラリに置き換えられる単一のライブラリを開発したいと考えています。
たとえば、プログラマーが GUI 描画関数をアラビア語プログラミング言語で記述してコンパイルすると、Windows でコンパイルされた場合は win32 コードにクロス コンパイルされ、Gnome で GTK+、KDE で Qt などにコンパイルされます。ライブラリも。
質問
コンパイルされた実行可能ファイルで終わるために、このすべての問題を経験する価値がありますか、それとも仮想マシンのアプローチを使用したほうがよいでしょうか? どちらかを選択することの長所と短所 (言語を使用するプログラマーではなく、言語開発者の観点から)? 他に考慮しなければならない要因はありますか?
さらに読むための参照リンクは大歓迎です:)