1

这个社区中是否有任何专家与 BCEL 合作过,并且可以指导我使用 BCEL 调用方法 ,就像我们使用 java 反射一样。

注意:为了支持您的回答,任何类型的书籍或网络参考资料都将成为很好的帮助来源。

现在我看到了一个名为Visitor的接口 ,其中包含方法visitInvokeInstruction() 现在有一种方法可以让我调用这些指令(在堆栈上形成一个方法)。

希望这段代码能给你很多我想要的解释。

提前致谢

4

1 回答 1

1

最好的方法是使用 BCELifier,这是 BCEL 附带的一个类,它接受一个类文件并发出使用 BCEL 发出该类文件的源代码 - 本质上它不是将类文件反编译成字节码或原始 Java 源代码,而是将 BCEL 代码反编译为发出那个。

在您的情况下,只需编写一个简单的虚拟类,其中包含您要生成的代码,然后运行 ​​BCELifier 并检查结果。

于 2011-05-10T08:47:49.190 回答