我如何调用Mozilla Rhino的Javascript中的C++
How do I call on C++ from Mozilla Rhino's Javascript
我正在使用Mozilla Rhino用于我的应用程序,我需要在实施过程中致电C/C 库。除了直接通过Java拨打C/C 功能外,是否有任何简单的方法可以执行此操作?
您将无法直接从JavaScript致电C/C 函数。
您可以创建一个可以从Java调用C/C 本机代码的Java包装类。然后在JavaScript上调用Java包装类中的方法。如果您想采用这种方法,请搜索有关使用JNA或JNI或类似方法的教程(对于Java< -> c/c )。
但是,这种方法有一些问题:
-
C/C 代码将在与JVM相同的地址空间中运行。C/C 代码中的错误负责硬崩溃 JVM。硬盘很难调试。
-
典型的C/C 代码不是线程安全。如果您尝试从多线程的Java代码调用它,则可能发生坏事;例如请参阅上文。
-
JavaScript-> Java-> C 调用序列不会便宜。人们尝试使用C/C 获得性能提升并不尚不清楚,只是发现其应用程序运行。。
相关文章:
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何将C++闭包与变量参数同时重用——类似于JavaScript
- 嘿,我正在尝试将此c ++转换为javascript,但有些东西不起作用
- C++中的 JavaScript 样式闭包
- OpenCV(C++)处理来自JavaScript / Web Assembly的图像数据
- 在C++中嵌入 Mozilla 的 JavaScript 引擎
- Javascript 找不到使用 emscripten 编译的导出 WASM 函数
- 在Javascript和C++中计算MD5哈希的不同结果
- 将Wiimote MAC地址转换为PIN码,从C++转换为Python或Javascript
- 如何使用EM_JS从带有参数的C++调用javascript方法
- JavaScript 中的一等函数和 C++ 中的函数声明
- 在 v8 JavaScript 中重复调用C++是否有巨大的开销?
- 在QtWebEngine中捕获JavaScript事件
- JavaScript箭头函数:我们能否像C ++ lambdas一样捕获值
- 我可以使用谷歌 v8 在回调函数中获取 JavaScript 函数C++源文本吗?
- 如何像在javascript中一样"push" c ++映射
- 如何读取 Javascript 文件
- 如何在 C++ 中从 V8 调用 Javascript 函数
- 在 c++ 中是否有像 javascript 中那样"includes()"的方法
- 我如何调用Mozilla Rhino的Javascript中的C++