要为Window XP创建动画dll创建Java2d动画并导出为dll可以吗?
是。您需要用C ++编写代码以使用JNI的调用接口启动JVM并对其进行调用。但是,您可能会发现很难以这种方式创建与Windows环境应用程序无缝集成以显示动画的窗口。这是一种相当高级的JNI用法,建议您在尝试JNI之前先阅读一下。
我很怀疑,除非那里有一些第三方工具。对于涉及图形的情况,机会更低。
实际上,昆汀所说的应该起作用。当使用GCJ
将Java编译为本机时,首先需要将.java
文件编译为平台特定的.o
(目标)文件。大概您会将.o
文件编译为dll
而不是exe
。 GCJ
还包括垃圾收集器和基本Java库之类的组件。没有一个都需要运行JVM
。令人沮丧的是dll
很大。借助所有默认库和垃圾收集器,使用GCJ
编译时,一个简单的“ Hello World”应用程序为~35MB
。同样,您的dll
将会很大。
我很确定您只能从Java而不是dll创建.Jar文件
存在一些“桥”,允许Java和非Java代码相互调用。根据您要完成的工作,这些方法可能会很有用,因为您可以编写Java代码,然后从C ++或C#DLL对其进行调用,这取决于创建DLL所使用的语言,这也将决定使用哪种语言。桥接您需要的。我从未见过免费提供的桥梁。我在寻找时发现的所有物品都必须购买。
不,IIRC,你不能。 DLL在加载时直接链接。 Java代码需要一个jvm,因此您只能提供一个启动jvm并在此处启动代码的dll,但并非所有必需的东西都适合该dll。
您不应该这样做。看来您要为问题使用错误的方法。
我同意bmargulies。对于专家来说,这可能是可行的,但是它将是一个很大的DLL,并且您可能会混合使用从来没有在一起工作的技术。我认为尝试这样做是没有意义的。
是,可以从Java源代码生成DLL。
我使用过的2种方法:
IKVM已经成熟,但是生成的DLL的运行时执行相当慢。
Graal很快,但是在Windows环境中尚不成熟。有关更多信息,请参见https://openjdk.java.net/jeps/295。
也有其他商业选择。