1

我正在开发一个 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}}}
}}

提前致谢。

4

1 回答 1

2

您只能传入在 C 中有效的类型。由于 C 没有字典类型或类似的概念,因此您无法将它们传递给您的 C 代码。所以你基本上有两个选择:

  1. JSON.stringify()用来把这个对象变成一个字符串。然后,您必须找到一些可以解析 JSON 并允许您以某种方式使用它的 C 库。
  2. 您将 JavaScript 数据转换为 C 可以直接理解的类型。例如,您可以传入一个结构数组,其中每个结构都包含一个指向结构数组的指针。当然,您的 C 代码将需要知道数组的大小 - 这必须是前一个数组的函数参数和后者的结构字段。VendorVendorProductVendor
于 2012-06-15T06:29:34.210 回答