대상 컴퓨터로 JVM을 사용하여 Java 용 Java 컴파일러를 작성 중이며 작동하는 함수 호출을 얻으려고합니다. 하지만 내 컴파일러에서 만든 클래스 파일을 실행하려고하면이 오류가 발생합니다 : "스레드"주 "java.lang.VerifyError 예외 : (클래스 : 테스트, 메서드 : 테스트 서명 : (I) I) 함수에서 잘못된 반환 유형 "입니다. 여기내 자신의 Java 컴파일러 및 bytecode : 함수 호출 문제
샘플 코드 :
public class Test
{
public static int test(int a)
{
return a;
}
public static void main(String[] args)
{
int b;
b = test(b);
}
}
생성 된 클래스 파일 자체 :. 당신이 그것을 다운로드하려고하면
(구글은 바이러스를 포함하고 있다고 그래서 내가 제공 그림만든 클래스 파일 :
나는 그 클래스 파일에 무슨 문제가 있는지 잘 모릅니다.
나는 조금이라도 생각이 없습니다. 하지만 당신의 경우 javac로 클래스를 컴파일하고 결과를 나란히 검사 할 것입니다. – SJuan76
그림을 게시하지 마십시오. 꽤 쓸모가 없습니다. javap의 출력을 캡쳐하고이를 포함 시키십시오 (코드로 포맷 됨). 클래스 파일 형식이 JVM 사양을 준수하는지 확인 하시겠습니까? –