ネイティブコードは、Java コードにより Java Native Interface (JNI) を介して呼び出される、元は C、C++、または Fortran で記述されたコンパイル済みコードです。次の例は、デモプログラム jsynprog に関連付けられたファイル jsynprog.java の注釈付き逆アセンブリからの抜粋です。
5. class jsynprog <関数: jsynprog.<init>()> 0. 5.504 jsynprog.JavaCC() <Java ネイティブメソッド> 0. 1.431 jsynprog.JavaCJava(int) <Java ネイティブメソッド> 0. 5.684 jsynprog.JavaJavaC(int) <Java ネイティブメソッド> 0. 0. [ 5] 00000000: aload_0 0. 0. [ 5] 00000001: invokespecial <init>() 0. 0. [ 5] 00000004: return |
ネイティブメソッドは Java ソースに含まれていないため、jsynprog.java の注釈付きソースの先頭には、行番号なしで命令を示す特別なインデックス行を使って各 Java ネイティブメソッドが表示されます。
0. 5.504 <関数: jsynprog.JavaCC(), 行番号なしの命令> 0. 1.431 <関数: jsynprog.JavaCJava(int), 行番号なしの命令> 0. 5.684 <関数: jsynprog.JavaJavaC(int), 行番号なしの命令> |
実際の注釈付きソースの表示では、インデックス行は折り返されません。