我面临将 java 中的 Main 函数名称更改为 的挑战
public static void xyz(String[] args)
有什么方法可以改变这一点,因为我知道java中的dll文件包含所有规范。 您能列出实现这一目标的步骤吗?
这个约束来自Java虚拟机规范第5章。 “Java 虚拟机通过使用引导类加载器(第 5.3.1 节)创建一个初始类来启动,该初始类以依赖于实现的方式指定。然后,Java 虚拟机链接初始类,对其进行初始化,并调用公共类方法 void main(String[])。“
以hotspot为例,你可能会在hotspot/src/os/linux/launcher/java.c中找到这样的代码: "mainID = (*env)->GetStaticMethodID(env, mainClass, "main", "([Ljava/lang/String;)V");"