代码之家  ›  专栏  ›  技术社区  ›  Jacob Krieg

将java项目编译到本地库并在顶部创建C/C++封装器

  •  1
  • Jacob Krieg  · 技术社区  · 6 年前
    1. 我正在做一个C/C++项目。

    2. 我在网上找到了一些非常有价值的资产,这些形式是java库,我想把它们集成到我的C/C++项目中。这些是我不考虑移植到C/C++的大项目。

    3. 我在一个 Stackoverflow ExcelsiorJET 这让我更加相信这是一件可靠的事情。

    考虑到1, 2和3,我想知道是否可以使用java库,将它编译成本地库,然后在该库的顶部创建C或C++包装器。这意味着这样就不再需要Java虚拟机了。通过这种方式,我将摆脱Java虚拟机层。这有可能吗?

    我在网上搜索,想看看是否有人成功地创建了这种管道,但无法得出结论。。。

    如果可能的话,有人能给我指出正确的方向吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Perdi Estaquel    6 年前

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

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

    简化java/C/C++接口的一种方法是使用IDL。一旦定义了IDL接口,它就可以用来生成爪哇/C/C++代码。