Utilisation de la bibliothèque C dans Node.js
Node.js propose différentes manières d'utiliser les bibliothèques C. Voici une solution éprouvée utilisant SWIG :
La dernière version 3.0 de SWIG fournit des générateurs d'interface pour Node.js, vous permettant d'intégrer de manière transparente les bibliothèques C.
Exemple de mise en œuvre
Par exemple, considérons une bibliothèque C avec le fichier d'en-tête myclass.h :
#include <iostream> class MyClass { int myNumber; public: MyClass(int number): myNumber(number) {} void sayHello() { std::cout << "Hello, my number is:" << myNumber << std::endl; } };
Fichier d'interface SWIG
Pour utiliser cette classe dans Node. js, créez le fichier d'interface SWIG mylib.i :
%module "mylib" %{ #include "myclass.h" %} %include "myclass.h"
Fichier de liaison et commandes
Ensuite, créez le fichier de liaison liaison.gyp :
{ "targets": [ { "target_name": "mylib", "sources": [ "mylib_wrap.cxx" ] } ] }
Enfin, exécutez les commandes suivantes :
swig -c++ -javascript -node mylib.i node-gyp build
Intégration Node.js
Maintenant, en exécutant Node.js dans le même dossier, vous pouvez accédez à la bibliothèque C :
> var mylib = require("./build/Release/mylib") > var c = new mylib.MyClass(5) > c.sayHello() Hello, my number is:5
SWIG découvre et génère automatiquement des interfaces naturelles, ce qui facilite l'intégration du code C dans les applications Node.js.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!