プロジェクト開発では、C 言語で書かれたライブラリ ファイルや DLL ファイルを呼び出す必要がある場合がありますが、このとき、nodejs を使用して C メソッドを呼び出すことができます。
nodejs を使用して C ライブラリ ファイルを呼び出すには、まず C ライブラリ ファイルの作成方法を理解する必要があります。ここでは例として、単純な追加ライブラリ ファイルを作成します。
まず、C ファイルadd.c
を作成する必要があります。ファイルの内容は次のとおりです:
#include <stdio.h> int add(int a, int b) { printf("c add function has been called "); return a + b; }
この c ファイルには、2 つの整数パラメーターを受け取り、その合計を返す関数 add
が定義されているだけが含まれています。
次に、コンパイラを使用して、c ファイルをダイナミック リンク ライブラリまたはスタティック リンク ライブラリにコンパイルする必要があります。ここでは、Linux システムでの gcc コンパイラを例として取り上げます。
ダイナミック リンク ライブラリのコンパイル コマンドは次のとおりです:
$ gcc -fPIC -shared -o libadd.so add.c
スタティック リンク ライブラリのコンパイル コマンドは次のとおりです:
$ gcc -c add.c $ ar rcs libadd.a add.o
-fPIC
パラメータこれは、コンパイラに位置に依存しないコードを生成させ、コード セグメントを異なるプロセス アドレス空間間で正しく共有できるようにするためです。生成されるダイナミック リンク ライブラリ ファイルまたはスタティック リンク ライブラリ ファイルは、それぞれ libadd.so
および libadd.a
です。
C ライブラリ ファイルを取得したら、nodejs でこのライブラリ ファイル内の関数を呼び出すことができます。ここでは、例として Linux システムでの nodejs を取り上げます。
Node.js の ffi モジュールでは、外部の動的ライブラリ、静的ライブラリ、C ライブラリ関数を使用できます。ただし、新しい Node.js バージョンでは、このモジュールに問題が発生する可能性があります。より安定した ffi モジュールを使用する必要がある場合は、ffi-napi モジュールを使用してプロセス内で C ライブラリを呼び出すことを選択できます。
次のコマンドを使用して ffi-napi モジュールをプロジェクトにインストールできます:
$ npm install ffi-napi
次に、nodejs ファイルを作成する必要があります。 file app.js
、ファイルの内容は次のとおりです。
const ffi = require('ffi-napi'); const libadd = ffi.Library('./libadd', { 'add': ['int', ['int', 'int']] }); console.log(libadd.add(1, 2));
ここで、Library()
関数の最初のパラメータは、次のパスであることに注意してください。 C ライブラリ ファイル、および異なるプラットフォームでのファイル名は、サフィックスも異なる場合があります。 2 番目のパラメーターは、インポートする関数の名前とパラメーターの型を含むオブジェクトです。ここでは、add
関数をインポートし、そのパラメーターの型と戻り値の型を指定します。
最後に、add
関数を呼び出し、戻り結果を出力しました。
コマンド ラインに次のコマンドを入力して、nodejs プログラムを実行できます:
$ node app.js
出力結果は次のとおりです:
c add function has been called 3
nodejs を使用して C ライブラリ ファイルを呼び出すと、プロジェクトの開発効率が大幅に向上し、nodejs 開発者により多くの開発の可能性が提供されます。基本的な手順は次のように要約できます。
nodejs を使用して C ライブラリ ファイルを呼び出すと、アプリケーションのパフォーマンスと安定性が向上し、プロジェクト開発をより適切に完了するのに役立ちます。
以上がnodejsを使用してcを呼び出す簡単な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。