2011-04-19 68 views
3

我在執行jasmin-2.4發行版中新編譯的HelloWorld.j時出現問題。Jasmin HelloWorld示例失敗

我下載了jasmin-2.4。我可以使用編譯好的:

Java的罐子jasmin.jar例子\ HelloWorld.j

輸出爲:

產生:NoJad \ j.class

當我執行新編譯程序:

的Java NoJad.j

拋出一個異常:

線程「main」中的異常java.lang.VerifyError :(類:NoJad/j,方法:main 簽名:([Ljava/lang/String;)V)期望在堆棧上查找對象/數組 找不到主要課程:NoJad.j。程序將會退出。

我傾向於認爲這是HelloWorld.j示例中的一個錯誤。也許一個新的驗證者已經發現了一個bug?

注1:分發中的預編譯HelloWorld.class按預期工作。

注2:我使用這個版本對Java Java版本 「1.6.0_24」 的Java(TM)SE運行時環境(建立1.6.0_24-B07) 的HotSpot的Java(TM)64位服務器VM (建19.1-B02,混合模式)

下面是從分佈HelloWorld.j文件:

; --- Copyright Jonathan Meyer 1996. All rights reserved. ----------------- 
; File:  jasmin/examples/HelloWorld.j 
; Author: Jonathan Meyer, 10 July 1996 
; Purpose: Prints out "Hello World!" 
; ------------------------------------------------------------------------- 


.class public NoJad.j 
.super java/lang/Object 

; 
; standard initializer 
.method public <init>()V 
    aload_0 

    invokenonvirtual java/lang/Object/<init>()V 
    return 
.end method 

.method public static main([Ljava/lang/String;)V 
    .limit stack 2 
    .limit locals 2 

    bipush 2 
    astore 0 
    bipush 3 
    astore 1 

    aload 0 
    aload 1 
    astore 0 
    astore 1 

    return 
.end method 

回答