这是一个困扰我的问题。 javah
需要一个字节码编译的类的类路径,以便生成其头。
但是,可能有javac
可以从源代码中构建AST,而javah
也可以使用它。尤其是因为很容易发现本机方法。
那么,为什么javah
完全需要字节码?
最佳答案
只是因为那是他们写的方式。我同意,绝对可以将其编写为在源代码上运行,但这不是他们所做的。
关于编写方式的一些有趣的事情是,如果您有源代码(可以先编译)或没有源代码,则可以使用它。这意味着它的完成方式实际上更加灵活,而不是更少。
关于java - 为什么javah需要字节码来生成JNI header ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8547294/