使用 JS-ctypes 将结构化数据传递给本机代码
Passing structured data to native code using JS-ctypes
我正在开发一个Firefox扩展,我需要使用目前以Javascript对象形式呈现的结构化数据执行一些高速计算。为了实现这一点,我计划编写使用 js-ctypes 调用的 C 库。有没有办法使用 JS-ctypes 将 Javascript 对象传递给本机库?数据示例:
{vendors:
{Oracle: {products:
{Exadata: {spec1: 111, spec2: 222}, Exalogic:
{spec1: 111, spec2: 222}}}, IBM: {products: {WebSphere: {spec1: 111, spec2:222}}}
}}
提前谢谢。
只能传入在 C 中有效的类型。由于 C 没有字典类型或类似概念,因此您无法将它们传递给 C 代码。所以你基本上有两个选择:
- 使用
JSON.stringify()
将此对象转换为字符串。然后,您必须找到一些可以解析JSON并允许您以某种方式使用它的C库。 - 你可以将你的JavaScript数据转换为C可以直接理解的类型。例如,可以传入一个
Vendor
结构数组,每个Vendor
结构都包含一个指向Product
结构数组的指针。当然,你的 C 代码需要知道数组的大小 - 这必须是前一个数组的函数参数和后者的Vendor
结构字段。
相关文章:
- 将对应用内购买的支持构建为react本机代码
- 控制台中的“function floor(){[本机代码]}”是什么
- 如何将chrome.tabCapture流从js传递到c++PNACL本机代码
- WKWebview-Javascript和;本机代码
- Array.insert函数错误,因为Object函数Array(){〔本机代码〕}没有方法'插入'
- 如何使用js ctypes Firefox扩展来调用本机C代码
- TypeError:对象函数Object(){〔本机代码〕}没有方法'方法'
- 如何将 JSON 数组反序列化为本机 .net 数据结构
- JavascriptCore:从本机代码执行JavaScript定义的回调函数
- 使用 JS-ctypes 将结构化数据传递给本机代码
- 对象函数 Date() { [本机代码] } 在 Chrome 中使用 Date.js 时没有方法“compareTo”
- 我怎样才能找到javascript函数的本机代码
- 在Phonegap(Java Android)中运行本机代码
- .bind(),它不返回javascript中的本机代码
- Javascript警报导致冻结.(带有AFNetworking和本机代码回调)
- javascript错误{〔本机代码〕}
- Backbone.js打印“;函数String(){〔本机代码〕}"而不是模型属性
- 如何使我的函数返回[本机代码]
- 在javascript中反映本机代码函数参数
- 在浏览器中执行本机代码