在.NET平台中,可以直接使用Common Intermediate Language编写程序,并使用IL Assembler(ILASM)编译源代码。
例如下面的代码是“Hello World”程序。
.assembly Hello {}
.assembly extern mscorlib {}
.method static void Main()
{
.entrypoint
.maxstack 1
ldstr "Hello, world!"
call void [mscorlib]System.Console::WriteLine(string)
ret
}
是否有可能直接用.NET编写带有Java字节码指令的程序?
你可以看看Jasmin。来自维基百科,
一些项目为Java汇编程序提供了手动编写Java字节码的功能。汇编代码也可以由机器生成,例如通过针对Java虚拟机的编译器生成。值得注意的Java汇编程序包括:
茉莉,获取Java类的文本描述,使用Java虚拟机指令集以简单的类似汇编的语法编写,并生成Java类文件。
牙买加,Java虚拟机的宏汇编语言。 Java语法用于类或接口定义。使用字节码指令指定方法体。
注意:我没有亲自使用过这些工具。
你可以使用Jasmin
.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
你可以参考 这个 也