我正在使用 asm 库在 Java 中构建编译器。到目前为止,我只能打印整数到输出。
我想用字符串做同样的事情。有什么想法吗?
最佳答案
您是否绝对有必要自己发出原始字节码?如果没有,我有一个 API(请参阅 here ),它允许您使用声明性表达式树编写代码,然后将表达式编译为字节码(作为运行时调用的回调,或作为生成类的方法体) .
使用此 API 编写代码的过程比使用 ASM 发出原始指令更加自然且简洁,例如:
call(
field(null, Types.System.getField("out")),
"println",
constant("twenty-two")
)
关于Java asm编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972994/