0

コマンドラインからARMv7ターゲットの簡単なJavaの例をクロスコンパイルしようとしています。

クロスコンパイルのために追加する必要があるjavacオプションは何ですか?

これは、ホストマシンでコンパイルするための標準のjavacコマンドです。

javac -d bin -sourcepath src src/TextPanel.java
4

2 に答える 2

8

javacコードをバイトコードにコンパイルし、JVMで実行できるようにします。バイトコード自体はクロスプラットフォームです。JVM(そのバイトコードを解釈する)のみがプラットフォームに依存します。必要なのは、ARMv7ターゲットで実行されるJVMです。

于 2012-12-08T19:05:03.840 に答える
2

なし。

ほとんどのJavaコンパイラは、特定のJVM仕様を対象とするJavaバイトコードを生成します。生成されたコードはそのようなVMで実行され、「その上で実行されるJVM実装はありますか?」以外のマシンアーキテクチャについて気にする必要はありません。

もちろん、他の何か(gjcなど)を生成するコンパイラもありますが、javacフロントエンドはかなり標準的なjavacである必要があります。比較:GCCツールチェーンを使用してCコードをクロスコンパイルする場合、コマンドラインの唯一の違いは、呼び出すコンパイラバイナリを選択することです。コンパイラへのフラグとパラメータは同じままで、名前だけが変更されます(たとえば、gccからi686-w64-mingw32-gcc)。

于 2012-12-08T19:07:02.637 に答える