问题描述
我想用Java字节码编写一个简短的程序(也许是一个Hello World)。 我只想用文本编辑器编写字节码并运行它。 我该怎么做? 有一个例子吗? 谢谢!
1楼
你可以尝试 !
.class public HelloWorld
.super java/lang/Object
.method public static main([Ljava/lang/String;)V
.limit stack 3
.limit locals 1
getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Hello World."
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
return
.end method
你用它编译它:
> java -jar jasmin.jar hello.j
然后你就像任何一个类一样运行它:
> java HelloWorld Hello World.
更新
我看到你的问题提到“不使用Javac或Java”。 你能澄清一下你的意思吗?
2楼
我创建了一个新的 ,它向后兼容Jasmin,但也添加了许多新功能并略微简化了语法。
这是一个如何编写Hello World程序的示例。
.class public hello
.super java/lang/Object
.method public static main : ([Ljava/lang/String;)V
.limit stack 10
.limit locals 10
getstatic java/lang/System out Ljava/io/PrintStream;
ldc "Hello World!"
invokevirtual java/io/PrintStream println (Ljava/lang/Object;)V
return
.end method
。 它目前仅涵盖Hello,World,但如果有兴趣,我可以继续。
3楼
你考虑过 (Java字节码编辑器)吗?
它基于Apache的字节码工程库( )
4楼
也许这篇文章可以帮助你入门: ( ,但你会得到这个想法)。
也会派上用场:D
5楼
字节代码被写为实际字节,通常不能由普通文本编辑器编辑。
这意味着您需要将文本表示转换为二进制的东西。 一个合理的起点是像这样的汇编程序。
6楼
这个人在这里指导您逐步编写hello world程序的类文件。 非常令人兴奋的东西:-)