開発プロセス中に、DLL ファイル内のメソッドを呼び出す必要があるシナリオに遭遇することがよくあります。人気のあるサーバーサイド JavaScript 環境である Node.js も、DLL ファイルと適切に対話します。この記事では、Node.jsを使用してDLL内のメソッドを呼び出す方法を説明します。
まず、DLL ファイルの基本概念を理解しましょう。 DLL (ダイナミック リンク ライブラリ) は、コンピュータ プログラムが動作中に参照する必要がある関数とデータを含むダイナミック リンク ライブラリです。スタティック リンク ライブラリとは異なり、DLL ファイルはコンパイル時にプログラムにリンクされませんが、プログラムの実行時に動的にリンクされます。
次に、簡単な例を使用して、Node.js を使用して DLL 内のメソッドを呼び出す方法を示します。 C で書かれた DLL ファイルに、2 つの整数の合計を計算する add という名前の関数が含まれているとします。 Node.js でこの関数を呼び出し、結果を出力したいと思います。
まず、Node.js で、node-ffi モジュールを使用して DLL ファイルと対話する必要があります。このモジュールを使用すると、純粋な JavaScript コードを使用して DLL 内の関数を呼び出すことができます。
node-ffi モジュールをインストールします:
npm install ffi
次に、DLL ファイルをロードしてその中の関数を呼び出すための JavaScript ファイルを作成する必要があります。以下はサンプル コードです:
const ffi = require('ffi'); let dll = ffi.Library('path/to/dll', { 'add': ['int', ['int', 'int']] }); let result = dll.add(1, 2); console.log(result);
コードでは、まず require を使用して、node-ffi モジュールをインポートします。次に、ffi.Library() メソッドを使用して DLL ファイルをロードし、そのファイル内の関数名とパラメーターの型を指定します。この例では、int 型の 2 つのパラメーターを受け取り、int 型の値を返す add という関数を提供します。最後に、dll.add() メソッドを使用して関数を呼び出し、結果を result 変数に保存します。
「path/to/dll」を DLL ファイルの実際のパスに置き換える必要があることに注意してください。さらに、Windows システムでは、.dll 拡張子を使用して DLL ファイルをロードする必要がある場合があります。例:
let dll = ffi.Library('path/to/dll.dll', { //... });
さらに、node-ffi モジュールを使用する場合は、C/C++ もインストールする必要があります。 DLL ファイルに対応するファイル C ランタイム ライブラリ (CRT)。 Windows システムでは、これらのライブラリは通常、Visual Studio または Windows SDK に含まれています。 Linux システムでは、対応する開発ツール パッケージ (glibc-devel など) をインストールする必要があります。
node-ffi モジュールを使用して DLL ファイルを呼び出すプロセスは非常に簡単です。 DLL ファイルをロードし、関数名とパラメーターの型を指定するだけで、通常の JavaScript 関数と同じように DLL 内の関数を呼び出すことができます。さらに、ファイル拡張子や C/C ランタイム ライブラリのインストールなど、プラットフォーム関連の詳細にも注意する必要があります。
以上がNodeを使用してDLLのメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。