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