2017-06-05 9 views
1

文字列出力を返すCコードがあります。 同じapiは.soファイルの形式でパッケージ化されています。nodejsアプリケーションから.soライブラリにアクセスする方法

私のnodejsコードで.soファイルを直接使用する方法はありますか。 私はCコードに何かを追加する必要がありますか、同じようにノードに標準的なメカニズムがありますか?

ありがとうございました

+1

は答えにそれを置くことはできませんが、私の知る限り2通りの方法があります:1)https://nodejs.org/api([Node.jsのモジュール]あなた自身を書きます[tag:C++] - 2)[node-ffi](https://github.com/node-ffi/node-ffi)を使用して直接呼び出します(/実行時に高価です)。 –

答えて

1

できません。あなたが行うことができるのは、ライブラリを使用して出力を返すC実行可能ファイルを作成することです。 exec関数を使用してjsファイルでこれを呼び出すことができます。私はそれをやったことがないよう

exec('/<path_to_executable>/executable', 
    function (error, stdout, stderr) { 
    console.log('stdout: ' + stdout); 
    console.log('stderr: ' + stderr); 
    if (error !== null) { 
     console.log('exec error: ' + error); 
    } 
}); 
+0

うまくいくはずですが、関数呼び出しのためだけに新しいプロセスをforkすることは、[node-ffi](https://github.com/node-ffi/node-ffi)を使うよりもさらに高価に思えます。 –

関連する問題