Node.js での C ライブラリの使用
Node.js では、C ライブラリを利用するさまざまな方法が提供されています。 SWIG を使用した実証済みのソリューションは次のとおりです。
最新の SWIG バージョン 3.0 では、Node.js 用のインターフェイス ジェネレーターが提供され、C ライブラリをシームレスに統合できます。
実装例
たとえば、ヘッダー ファイル myclass.h を持つ C ライブラリを考えてみましょう:
#include <iostream> class MyClass { int myNumber; public: MyClass(int number): myNumber(number) {} void sayHello() { std::cout << "Hello, my number is:" << myNumber << std::endl; } };
SWIG Interface File
このクラスを Node.js で使用するには。 js で SWIG インターフェイス ファイルを作成します mylib.i:
%module "mylib" %{ #include "myclass.h" %} %include "myclass.h"
バインディング ファイルとコマンド
次に、バインディング ファイル binding.gyp:
< を作成します。 🎜>{ "targets": [ { "target_name": "mylib", "sources": [ "mylib_wrap.cxx" ] } ] }最後に、次のコマンドを実行します。
swig -c++ -javascript -node mylib.i node-gyp build
Node.js 統合
ここで、同じフォルダー内で Node.js を実行すると、次のことが可能になります。 C ライブラリにアクセスします:> var mylib = require("./build/Release/mylib") > var c = new mylib.MyClass(5) > c.sayHello() Hello, my number is:5SWIG は自然なインターフェイスを自動的に検出して生成するため、C コードを Node.js アプリケーションに簡単に統合できます。
以上がSWIG を使用して C ライブラリを Node.js に統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。