我的应用程序使用 Flex、Java 和 C++。C++ 代码被编译成一个共享库。Java 执行库中的方法。之后,Flex 代码使用该库来使用其他功能。
问题是 Flex 使用的方法只能在 Java 代码使用库完成后才能使用。
那么有没有可能在 Java 完成之后 Flex 加载相同的共享库(换句话说:使用相同的实例),以便它们可以使用相同的静态函数/变量?仅使用 Flex 或 Java 不可能执行所有功能。
最终应用程序是适用于 Android 的移动 AIR 应用程序。我使用的 Flex SDK 版本是 4.6,它与 Adobe AIR 3.1 一起部署 Flex 为 Java 库创建了一个扩展上下文。该 Java 库使用 JNI 与 C++ 库进行通信。这很好用。Java 在 C++ 库中分配了大量静态变量后,我希望 Flex 能够使用 C++ 库的相同实例。因此,如果 Flex 从库中调用一个函数,它会使用与 Java 之前分配的具有相同值的相同静态变量。
我的想法是为 java 库创建第二个扩展上下文,将“创建”传递给 C++ 库。本机 C/C++ 使用指向 Flex 的方法的指针来使用它们。Java 给出了一个对象的实例。但也许可以在 Java 中捕获初始化请求并将其发送到 C++