2009-11-20 140 views
11

想要为Window XP创建动画DLL 创建Java2d动画并导出为dll可以吗?是否可以使用Java创建dll?

+0

为什么downvote?我认为这个问题相当简单。 – 2009-11-20 15:11:52

+1

我猜想,我强调猜测,dv来自有人希望这个问题更加具体的关于OP的更高层次的目标。就我个人而言,我认为在这种情况下,评论应该是足够的,但口味各不相同。 – bmargulies 2009-11-20 15:16:39

回答

12

是的。您需要用C++编写代码来启动具有JNI调用接口的JVM,然后调用它。但是,您可能很难以这种方式创建Windows,以便与Windows环境应用程序无缝集成以显示动画。这是一个相当先进的JNI用法,我建议在尝试一点之前阅读JNI书籍。

+1

虽然技术上是正确的,但对于上述问题中描述的工作,使用Java确实不是一个好主意(轻度放置)。 – 2009-11-20 15:58:05

+0

是的。必须有一个非常特别的理由。只喜欢在java2d与本地代码不会这样做。 – bmargulies 2009-11-20 16:03:06

+0

就我而言,我可能会尝试一下,因为没有像JavaFX那样的东西。 Qt已经废弃了代码,许多宏和许多不必要的东西,而具有相同功能的每个其他C++ ui库基本上都是使用古怪的HTML标准的HTML布局引擎.... – Johannes 2016-12-26 23:09:02

1

我很确定你只能创建.java文件,而不是dll

+1

我们其中的一个人正在回答他意味着要问的问题,但我不知道我们中的哪一个:-) – bmargulies 2009-11-20 15:04:31

+0

我很确定它是你+1的答案:) – James 2009-11-20 15:05:25

+0

@bmargulies:对你也是+1:P – 2009-11-20 15:05:55

2

我很怀疑,除非有一些第三方工具。对于涉及图形的情况,机会甚至更低。

0

我同意bmargulies。对于专家来说这可能是可行的,但它会是一个大型的DLL,并且你将混合从未一起工作的技术。在我看来,尝试这种做法是没有意义的。

2

不,IIRC你不能。加载时直接链接DLL。 Java代码需要一个jvm,所以你只能提供一个dll来启动一个jvm并在那里启动代码,但并不是所有的东西都适合dll。

你不应该这样做。看起来你正在试图为你的问题使用错误的方法。

1

有“桥梁”,允许Java和非Java代码相互调用。取决于你想要完成什么,这些可能是有用的,因为你可以编写你的Java代码,然后从C++或C#DLL调用它,这取决于你用哪种语言创建你的DLL,这也将决定什么样的你需要的桥梁。我从来没有见过一个自由提供的桥梁。我找到的所有这些东西都必须要购买。

0

嗯......

  1. GCJ is available for Windows
  2. GCJ是GCC的一部分。
  3. GCC can create dlls

可能将它们放在一起构建使用GCJ的DLL。

+0

但是GCJ仍然会生成类文件吗?这意味着他们需要JVM – 2009-11-20 15:14:45

+0

根据http://www.autexier.de/jmau/dev/gcj.html gcj仍然会生成类文件 – 2009-11-20 15:17:16

1

事实上,昆廷说的应该是什么。
当您将java编译为本机GCJ时,首先将.java文件编译到平台特定的.o(对象)文件中。想必您会将.o文件编译为dll而不是exeGCJ还包含垃圾收集器和基本Java库等组件。其中没有一个需要运行JVM。下行是dll将是巨大的。与GCJ一起编译的简单的“Hello World”应用程序是~35MB,这要归功于所有缺省库和垃圾收集器。同样你的dll将是巨大的。

相关问题