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 コードに渡すことはできません。したがって、基本的に2つのオプションがあります。

  1. JSON.stringify()このオブジェクトを文字列に変換するために使用します。次に、JSON を解析できる C ライブラリを見つけて、何らかの方法でそれを操作できるようにする必要があります。
  2. JavaScript データを C が直接理解できる型に変換します。たとえば、構造体の配列へのポインターを含む各構造体を使用して、構造体の配列を渡すことができます。もちろん、C コードは配列のサイズを知る必要があります。これは、前者の配列では関数パラメーターであり、後者では構造体フィールドでなければなりません。VendorVendorProductVendor
于 2012-06-15T06:29:34.210 に答える