2011-04-19 2 views
3

새로 컴파일 된 HelloWorld.j를 jasmin-2.4 배포판에서 실행하는 데 문제가 있습니다.Jasmin HelloWorld 예 실패

jasmin-2.4를 다운로드했습니다. 내가 사용 확인을 컴파일 할 수

은 는 는

가 생성 : 나는 실행하면 NoJad \ j.class는

새로 컴파일 jasmin.jar 예

출력이 HelloWorld.j

\ -jar

자바 프로그램 :

자바 NoJad.j

예외가 발생 :

스레드 "main"의 예외 java.lang.VerifyError : (클래스 : NoJad/j, 메서드 : 기본 ) 서명 : ([Ljava/lang/String]) V 객체/배열을 스택에서 찾을 예정 임 찾을 수 없습니다. 메인 클래스 : NoJad.j. 프로그램이 종료됩니다.

저는 이것이 HelloWorld.j 예제의 버그라고 생각합니다. 아마도 새로운 검증자가 버그를 잡았습니까 ???

참고 1 : 미리 컴파일 된 HelloWorld.class는 배포본에서 예상대로 작동합니다.

주 2 : 나는 자바 자바 버전 "1.6.0_24" 자바 (TM) SE 런타임 환경 버전을 사용하고 있습니다 (빌드 1.6.0_24-B07) 자바 핫스팟 (TM) 64 비트 서버 VM

여기에 분포에서 HelloWorld.j 파일의 (혼합 모드 19.1-B02를 구축) :

; --- 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 

답변