在asm java编译器中创建数组

问题描述 投票:0回答:1

我正在尝试使用字节码指令创建一个整数数组

http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings

有什么想法怎么做吗?

java assembly bytecode
1个回答
1
投票

数组的大小是从堆栈中弹出的,因此需要先将其压入堆栈。

例如,要创建一个 1000 个元素的数组,您可以执行类似的操作

sipush 1000
newarray int

编辑:我刚刚注意到有一个标准的 lib 函数来填充数组。这让事情变得容易多了。

sipush 1000
newarray int
dup
iconst_1
invokestatic java/util/Arrays fill ([II)V
© www.soinside.com 2019 - 2024. All rights reserved.