本机代码是最初用 C、C++ 或 Fortran 编写,由 Java 代码通过 Java 本地接口 (Java Native Interface, JNI) 调用的已编译代码。以下示例来自与演示程序 jsynprog 关联的文件 jsynprog.java 的带注释的反汇编代码。
5. class jsynprog <Function: jsynprog.<init>()> 0. 5.504 jsynprog.JavaCC() <Java native method> 0. 1.431 jsynprog.JavaCJava(int) <Java native method> 0. 5.684 jsynprog.JavaJavaC(int) <Java native method> 0. 0. [ 5] 00000000: aload_0 0. 0. [ 5] 00000001: invokespecial <init>() 0. 0. [ 5] 00000004: return |
由于本机方法不包含在 Java 源代码中,jsynprog.java 的带注释的源代码的开头会显示每个 Java 本机方法,并使用一个特殊的索引行来指示不带行号的指令。
0. 5.504 <Function: jsynprog.JavaCC(), instructions without line numbers> 0. 1.431 <Function: jsynprog.JavaCJava(int), instructions without line numbers> 0. 5.684 <Function: jsynprog.JavaJavaC(int), instructions without line numbers> |
在实际的带注释的源代码显示中,索引行并不换行。