2
これは私を困惑させる質問です。 javah
は、ヘッダを生成するために、バイトコードでコンパイルされたクラスのクラスパスが必要です。javahがJNIヘッダを生成するためにバイトコードを必要とするのはなぜですか?
しかし、javac
がありますが、これはおそらくjavah
でも使用できるソースコードからASTを作成していると思われます。特に、ネイティブメソッドが簡単に検出されるためです。
なぜ、javah
にバイトコードが必要なのですか?
これは当てはまりますが、一方ではJNIビルドプロセスが次のように複雑になります。/ – fge
@fgeそうではありません。 .javaを.classにコンパイルするコンパイラが1つあります。 .classを.cと.hに処理する一つのjavahがあります。 javahをコンパイラにするとjavacとjavacの相違の危険があります。 – EJP
@EJPはコードを共有していません!しかし、とにかく...私はそれを処理する必要があることを知っている:/ – fge