【发布时间】:2020-04-12 12:21:38
【问题描述】:
我正在尝试使用 Jasmin 字节码将数组传递给函数。它会生成一个正确的类,但在我尝试运行它时会出错:
java.lang.VerifyError: (class: test4, method: main signature: ([Ljava/lang/String;)V) Register 1 contains wrong type
这可能是什么问题? 提前感谢您的帮助!
我的字节码:
.class public input_code
.super java/lang/Object
.method private static func([Ljava/lang/String;)V
.limit stack 99
.limit locals 99
return
.end method
.method public static main([Ljava/lang/String;)V
.limit stack 99
.limit locals 99
ldc 10
anewarray java/lang/String
astore 1
aload 1
ldc 9
ldc "t"
aastore
iload 1
invokestatic input_code/func([Ljava/lang/String;)V
return
.end method
java类:
public class input_code {
private static void func(String[] var0) {
}
public static void main(String[] var0) {
String[] var1 = new String[10];
var1[9] = "t";
func(var1);
}
}
【问题讨论】:
标签: java arrays function bytecode jasmin