这是一个令我困惑的问题。 javah
需要一个字节码编译类的类路径,以生成其标题。
但是有javac
,可能是从源代码中构建了一个AST,它也可能被javah
使用。特别是因为很容易发现原生方法。
那么,为什么javah
需要字节码?
答案 0 :(得分:5)
仅仅因为他们是如何写的。我同意,它绝对可能已被编写为在源代码上运行,但这不是他们所做的。
关于 编写方式的一些有趣的事情是,如果你有源(通过先编译它)或者你没有有你可以使用它资源;这意味着它的实现方式实际上是更多灵活,而不是更少。