gpt4 book ai didi

java - 谷歌 VR Java 和 C++?

转载 作者:搜寻专家 更新时间:2023-10-31 01:34:40 24 4
gpt4 key购买 nike

我刚刚在 github (googlevr) 上看到了这方面的开源项目,我的问题是 C++ 如何与 Java 一起工作?我可以理解 Java 用于 android 的东西,而 C++ 用于图形、内存和跟踪,但是两种不同的编译语言如何协同工作?

最佳答案

在 C 和 C++ 中,您可以创建共享库。它们在每个平台上的处理方式略有不同,但做的事情大致相同。

  • Windows 创建一个.dll
  • Mac 创建一个 .dylib
  • Linux 创建.so

这些代表可以被任何进程调用的可执行代码。这意味着java代码、matlab代码、python代码等都可以调用用C/C++编写的代码。 Java 使用称为 JNI(Java native 接口(interface))的功能来执行此操作。 JNI 的设置和管理是出了名的棘手,因此很多人使用像 Swig 这样的库,它基本上管理您需要的与 JNI 相关的一切,以便更容易地从 Java 调用预编译的 C++ 代码。

这里的关键是“预编译”。有些人,甚至可能是你,不得不获取源代码并将其编译成 dll、dylib 等,你必须在需要使用它的代码所在的位置设置共享库(在这种情况下,你的java 应用程序)可以看到它,以便在 java 应用程序启动时它可以加载共享库并对其进行调用。

对于 Java,一个考虑因素是 Java 代码本质上是跨平台的。 C++ 代码需要针对每个平台进行编译。因此,当您分发您的 Java 应用程序时,您需要确保您有一个共享库可供运行它的任何平台访问。

关于java - 谷歌 VR Java 和 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38903487/

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