gpt4 book ai didi

java - 将 Java 项目编译为 native 库并在其上创建 C/C++ 包装器

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:52 25 4
gpt4 key购买 nike

  1. 我正在从事 C/C++ 项目。

  2. 我在网上找到了一些非常有值(value)的 Java 库形式的 Assets ,我想将它们集成到我的 C/C++ 项目中。这些是我不会考虑移植到 C/C++ 的大型项目。

  3. 我读了 Stackoverflow发布 Java 代码可以编译为 native 代码,因此可以在中间没有 Java 虚拟机的情况下运行 Java 项目。我还发现甚至有一个名为 ExcelsiorJET 的商业工具可以做到这一点。从而让我更加相信这可能是一件可靠的事情。

考虑到第 1、2 和 3 点,我想知道是否可以采用 Java 库,将其编译成 native 库,然后在该库之上创建 C 或 C++ 包装器。这意味着这样就不再需要 Java 虚拟机了。这样我就摆脱了 Java 虚拟机层。这可能吗?

我在网上搜索过是否有人成功创建过这种管道,但无法得出结论......

我想问的是这条管道是否可行,至少在理论上没有成功创建它的在线示例。

如果这是可能的,谁能指出我正确的方向?

最佳答案

看看 JNI 和 JVM 启动序列:在这个级别上都是 C/C++ 编码。

您可以提前编译 java (AOT),也可以像调用库一样调用 JVM(这是 Launch4j 等可执行包装器的工作方式)。

简化 Java/C/C++ 接口(interface)的一种方法是使用 IDL。一旦您定义了 IDL 接口(interface),它就可以用于生成 Java/C/C++ 代码。

关于java - 将 Java 项目编译为 native 库并在其上创建 C/C++ 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53815898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com