可以使用Java创建dll吗?

可以使用Java创建dll吗?,java,dll,Java,Dll,要为Windows XP创建动画dll吗 创建Java2d动画并导出为dll可以吗?我很确定您只能从java而不是dll创建.Jar文件。你需要在C++中编写代码,用JNI调用接口启动JVM,并调用它。但是,您可能会发现,以这种方式创建与windows环境应用程序无缝集成以显示动画的窗口很困难。这是一个相当高级的JNI用法,我建议在尝试一点之前阅读JNI书籍。我对此表示怀疑,除非有第三方工具。对于涉及图形的情况,可能性更低。我同意B的说法。对于专家来说,这可能是可行的,但它将是一个大型DLL,并

要为Windows XP创建动画dll吗
创建Java2d动画并导出为dll可以吗?

我很确定您只能从java而不是dll创建.Jar文件。你需要在C++中编写代码,用JNI调用接口启动JVM,并调用它。但是,您可能会发现,以这种方式创建与windows环境应用程序无缝集成以显示动画的窗口很困难。这是一个相当高级的JNI用法,我建议在尝试一点之前阅读JNI书籍。

我对此表示怀疑,除非有第三方工具。对于涉及图形的情况,可能性更低。

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

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

你不应该这样做。看起来您试图使用错误的方法解决您的问题。

存在允许Java和非Java代码相互调用的“桥梁”。根据你要完成的任务,这些可能是有用的,因为你可以编写java代码,然后从C++或C语言中调用它,这取决于你用哪种语言来创建你的DLL,这也决定了你需要什么样的桥。但我从未见过免费提供的桥梁。我在找的时候发现的所有东西都要买。

  • GCJ是GCC的一部分

  • 把这些放在一起使用GCJ构建DLL是可能的。

    实际上,昆汀所说的应该是可行的
    使用
    GCJ
    将java编译为本机时,首先将
    .java
    文件编译为特定于平台的
    .o
    (对象)文件。大概您会将
    .o
    文件编译成
    dll
    ,而不是
    exe
    GCJ
    还包括垃圾收集器和基本java库等组件。它们都不需要运行
    JVM
    。令人沮丧的是
    dll
    将是巨大的。使用
    GCJ
    编译的一个简单的“Hello World”应用程序是
    ~35MB
    ,这要感谢所有默认的lib和垃圾收集器。同样地,您的
    dll将是巨大的。

    是的,可以从Java源代码生成dll

    我使用过两种方法:

  • IKVM
  • 格拉尔
  • IKVM是成熟的,但在运行时执行生成的DLL时相当慢

    Graal速度很快,但在Windows环境中还处于早期和不成熟阶段。 有关更多信息,请参阅


    还有其他的商业选择。

    我们中的一个人正在回答他想问的问题,但我不知道我们中的哪一个人:-)我很确定答案是你+1:)@b我也回答你+1:技术上我回答了他的问题,但你为他寻找的东西提供了一个解决方案,在我看来比我的好@你们两个:我担心OP希望一个神奇的bean,它将从java代码中成长为一个DLL而不必编写C++,所以在某些方面,我将返回这些支持。为什么要投票否决?我认为这个问题相当直截了当。我猜,并且我强调猜测,dv来自希望问题更具体地涉及OP的更高级别目标的人。就我个人而言,我认为在这种情况下,评论就足够了,但口味不同。但GCJ仍然生成类文件,对吗?这意味着他们需要一个JVM,根据gcj,仍然会生成类文件。虽然从技术上讲是正确的,但使用Java来完成上面问题中描述的工作确实不是一个好主意。一定有非常特殊的原因。只是喜欢用java2d编写代码而不是用本机编写代码是不行的。在我的情况下,我可能会尝试一下,因为没有什么比JavaFX更好的了。Qt已经有了代码,很多宏,还有很多不必要的东西,而其他具有相同功能的C++ UI库基本上是一个HTML布局引擎,使用了古怪的HTML标准…