gpt4 book ai didi

javascript - 如何从 Mozilla Rhino 的 Javascript 调用 C++

转载 作者:行者123 更新时间:2023-11-30 21:00:14 24 4
gpt4 key购买 nike

我正在为我的应用程序使用 Mozilla Rhino,并且我需要在实现过程中调用 C/C++ 库。除了直接通过java调用c/C++函数之外,还有什么简单的方法可以做到这一点吗?

最佳答案

您将无法直接从 Javascript 调用 C/C++ 函数。

您可以创建一个 Java 包装类,它可以从 Java 调用 C/C++ native 代码。然后从 Javascript 调用 Java 包装类上的方法。如果您想采用这种方法,请搜索有关使用 JNA 或 JNI 或类似方法的教程(适用于 Java <-> C/C++)。

但是,这种方法存在一些问题:

  • C/C++ 代码将在与 JVM 相同的地址空间中运行。 C/C++ 代码中的错误很容易导致 JVM 硬崩溃。硬崩溃很难调试。

  • 典型的 C/C++ 代码不是线程安全的。如果您尝试从多线程的 Java 代码中调用它,则可能会发生不好的事情;例如见上文。

  • Javascript -> Java -> C++ 调用序列不会便宜。人们尝试使用 C/C++ 来提高性能,却发现它使他们的应用程序运行速度变慢,这是众所周知的。

关于javascript - 如何从 Mozilla Rhino 的 Javascript 调用 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42729919/

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