为什么javah需要字节码来生成JNI头?

时间:2011-12-17 19:19:38

标签: java java-native-interface javah

这是一个令我困惑的问题。 javah需要一个字节码编译类的类路径,以生成其标题。

但是有javac,可能是从源代码中构建了一个AST,它也可能被javah使用。特别是因为很容易发现原生方法。

那么,为什么javah需要字节码?

1 个答案:

答案 0 :(得分:5)

仅仅因为他们是如何写的。我同意,它绝对可能已被编写为在源代码上运行,但这不是他们所做的。

关于 编写方式的一些有趣的事情是,如果你有源(通过先编译它)或者你没有有你可以使用它资源;这意味着它的实现方式实际上是更多灵活,而不是更少。