問題タブ [node-ffi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2372 参照

javascript - Node.js FFI (javascript & c) を使用したデータのバインド

ノード ffiを使用してac ライブラリを呼び出していますが、このコードを使用すると問題が発生します。

この c プログラムは、現在のディレクトリにフォルダーを作成し、エラーがなければ 1 を返します。

このCプログラムを呼び出すために使用しているJavaScriptコードは次のとおりです。

このプログラムは、create 関数で char の代わりに int を使用した場合にのみ機能しますが (示されているように)、この関数では char * を使用する必要があります。したがって、関数をcreate(char * dir)I't に変更すると機能しません。

jsの呼び出しをから変更しようとしました

{"create": [ "int", ["int"] ] });

{"create": [ "int", ["char *"] ] });.

それを手伝ってもらえますか?

ありがとう

0 投票する
0 に答える
1262 参照

node.js - 失敗した node-ffi コールバック / セグメンテーション エラーのデバッグ

node-ffi を使用して node.js 内から libvlc を使用しようとしています。一般的な基本的なメディア プレーヤー機能にはうまく機能しているように見えますが、使用しようとすると、プログラムでクラッシュ、セグメンテーション エラー、および一般的なフリーズが発生し続けます。 libvlc の非同期イベント システムを実装し、ノードの EventEmitter と統合します。これまでに使用したコードはhttps://gist.github.com/2644721でホストされていますが、機能していないようです。

GDB はさまざまな結果を生成しますが、私が最後に受け取ったクラッシュは次のとおりです。

ここで私が何か間違ったことをしているのは明らかです.node-ffiのドキュメントによると、何か間違ったことをすると、この種の動作を引き起こすのは本当に簡単です。コールバックが同じスレッドまたはスコープから実行されていない可能性があると考えていますが、それを確認する方法や修正する方法さえわかりません。どんな助けでも大歓迎です...

0 投票する
3 に答える
5430 参照

javascript - Javascript の C パーサー

Javascript で C ヘッダー ファイルを解析したいと思います。そのような利用可能なライブラリはありますか?それ以外の場合は、始めるのに役立つヒントはありますか?

更新:私の最終的な目標は、node-ffi のインターフェイスを自動的に構築することです。パーサーは、Javascript が理解できる形式を出力できる限り、必ずしも Javascript である必要はありません。自分で開発するのが非常に難しい場合は、おそらく既製のソリューションを使用する必要があります...?

0 投票する
2 に答える
4864 参照

javascript - Node-Webkit WinAPI

私は Windows (Vista、7、…) 用の単純なノード Webkit アプリケーションを開発しています。システム全体のホットキーをバインドし、それに基づいてキーストロークを作成するために、いくつかの WinAPI 関数、具体的にはRegisterHotKeyおよびを使用する必要があります。SendInputnode-webkit が提供するそのような API はないので、node -ffiを使用してその関数を呼び出すことを考えました。

私は WinAPI の開発に慣れていないので、MSDN のマニュアルをいくつか読んだことがありますが、ほとんどの例では、ウィンドウ、メッセージ ループ、メッセージ処理手順などを作成していることがわかりました。別のウィンドウを作成せずに、node-webkitからWinAPIへの呼び出しを正しく実装する方法はよくわかりません。

Node-ffi のチュートリアルではそのようなケースはカバーされていないので、node Windowsライブラリを見つけましたが、node を使用して Windows アプリケーションを実装しているだけのようです。

Windows アプリケーションを作成せずにネイティブ呼び出しを実装する方法はありますか? それを行う正しい方法は何ですか?

0 投票する
1 に答える
1858 参照

javascript - monetdb 接続に c ライブラリを使用する node.js モジュールを作成することはできますか?

と接続しようとしmonetdbていnode.jsます。moentdbmapi ライブラリを使用してクエリを実行できる単純な (20 行の) C プログラムがあります。

node.jsこれらのライブラリを使用して、これらのライブラリを使用して接続する何か(モジュール/アドオン)を構築できますmonetdbか?

(odbc の使用はオプションですが、独自の欠点があります。)

Update1 :
node-ffi はかなり素晴らしいです。フェッチ テーブル プログラムを非常に簡単に作成できました。(たとえば、作業コードを追加しました。)

したがって、3 つのオプションがある場合
1. ODBC
2. node-ffi
3. データベース データを取得し、ソケットを介して node.js からの接続をリッスンする ac プログラム

node.jsのアドオンを開発する時間がほとんどない場合、実装するより良いオプションであるパフォーマンスの観点から

更新 2:
上記のコードは本番環境での使用はお勧めしません... node.js の非同期機能を使用しないため、ベイビー ステップで使用してください。

0 投票する
1 に答える
1317 参照

c - NodeJS-C インターフェース

C ライブラリと NodeJS モジュールの間でデータを渡す方法を理解しようとしています。NodeFFI モジュールを介してこれを行うことはできますか?

それとも、C-NodeJS インターフェイスを開発するために独自の NodeJS アドオンを作成する必要がありますか?

0 投票する
1 に答える
1181 参照

node.js - Windows で node.js を使用して同期タスクを実行する

Node FFI モジュールを使用しており、Windows で同期タスクを実行しようとしています。次のコードを使用してタスクを正常に実行できます。

これが同期タスクを実行する方法だと思いますが、このコードは常に最初の「ls -lrt」コマンドの後に終了します。さらにいくつかのコマンドをチェーンすると、それらは機能しません。それで、FFIモジュールにコールバック関数がありますか、それともWindowsのnode.jsでコマンドをチェーンして次々と同期して実行できる別の方法がありますか。

0 投票する
4 に答える
17772 参照

node.js - Node.js から C++ ライブラリを呼び出す (Node addons / node-ffi)

外部 C++ ライブラリ (.so ファイルとヘッダー ファイルにアクセスできます) を Node.js アプリケーションに統合しようとしています。

多くの調査の後、私のオプションは次のように削減されます。

  1. Nodeアドオンの作成

  2. node-ffiを使用する

node-ffi の gitHub の定義から、C++ ライブラリで直接動作するかどうかはわかりません。

node-ffi は、純粋な JavaScript を使用して動的ライブラリをロードおよび呼び出すための Node.js アドオンです。C++ コードを記述せずに、ネイティブ ライブラリへのバインドを作成するために使用できます。

だから私が持っている質問は次のとおりです。

  • オプション 1) は、何らかの方法で外部 C++ ライブラリを書き直すことを意味しますか?
  • node-ffi は、作成しなければならない C ラッパーを一切使用せずに、C++ ライブラリを直接呼び出すことができますか?

私は C/C++ に関しては専門家ではないので、質問を改善できるように、基本的なことを見逃していた場合はお知らせください。