是否可以使用Java来创建DLL?

想为Window XP创建动画dll是否可以创建Java2d动画并导出为dll?

是。 您需要使用C ++编写代码以使用JNI的调用接口启动JVM,并调用它。 但是,您可能会发现以这种方式创建窗口很难与Windows环境应用程序无缝集成以显示动画。 这是一个相当高级的JNI用法,我建议在阅读之前阅读JNI书籍。

我怀疑,除非那里有一些第三方工具。 对于涉及图形的情况,可能性更低。

实际上,昆汀所说的应该有用。
当您使用GCJ将java编译为本机时,首先将.java文件编译为特定于平台的.o (对象)文件。 大概你会将.o文件编译成dll而不是exeGCJ还包括垃圾收集器和基本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。

你不应该这样做。 您似乎正在尝试使用错误的方法来解决您的问题。

好…

  1. GCJ适用于Windows 。
  2. GCJ是GCC的一部分。
  3. GCC可以创建dll 。

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

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