Maison > interface Web > js tutoriel > Utilisez C pour écrire des modules d'extension pour node.js_node.js

Utilisez C pour écrire des modules d'extension pour node.js_node.js

WBOY
Libérer: 2016-05-16 16:02:45
original
1163 Les gens l'ont consulté

Prérequis : Installer node.js, Python2.7 et Visual Studio 2013.

Processus :
Installez d'abord l'outil de génération de projet GYP, npm install -g node-gyp.
Créez le répertoire test, qui est notre répertoire de travail. Créez un répertoire src sous ce répertoire pour stocker le code source C. Créez un nouveau fichier texte nommé bind.gyp. Il s'agit du fichier du projet gyp. >

Copier le code Le code est le suivant :
{
'cibles' :[{
         'target_name':'hello',
        'sources' :['src/hello.cc']
}]
>

Écrivez un autre simple hello.cc avec le contenu suivant :


#include <node.h>
using namespace v8;

Handle<Value> Hello(const Arguments& args) {
 HandleScope scope;
 return scope.Close(String::New("Hello world!"));
}

void init(Handle<Object> target) {
 NODE_SET_METHOD(target, "hello", Hello);
}

NODE_MODULE(hello, init)

Copier après la connexion
Ensuite, exécutez la commande : node-gyp configure

S'il fonctionne correctement, un répertoire ----build apparaîtra, sous lequel le fichier du projet vs2013 sera généré pour vous, afin que vous puissiez l'éditer et le compiler dans vs2013.
Bien entendu, vous pouvez également utiliser directement la commande node-gyp build pour compiler.

Le programme test js est le suivant :

Copier le code Le code est le suivant :
var bonjour = require('./bonjour');
console.log(bonjour.bonjour());

Quelques problèmes ont été rencontrés, les enregistrements sont les suivants :

1.C:UsersAdministrator.node-gyp

2. Le bonjour dans NODE_MODULE(hello, init) est le nom du module et doit être cohérent avec le nom du fichier sinon, il n'y aura pas de problème de compilation mais une erreur se produira lors de l'exécution. Parce que lorsque require('./hello.node'), il trouve non seulement le fichier correspondant, mais correspond également au module correspondant.

3. J'ai suivi le livre de Pu Ling "Node.js in a Simple Language" et j'ai fait référence à certaines pages Web pour étudier. Il y a un élément de conditions dans le fichier de projet gyp donné dans le livre, "bibliothèques" : ['-. lnode.lib'], à cause de cette phrase, j'ai continué à recevoir une erreur lors de la compilation : impossible d'ouvrir node.lib. Évidemment, le fichier existait, mais il vient de signaler une erreur. J'ai recherché beaucoup d'informations mais je n'ai pas pu la résoudre. Ensuite, j'ai copié node.lib directement dans le répertoire de travail et utilisez la ligne de commande pour compiler avec succès ! Mais dans vs2013, l'erreur était toujours la même. Rien que je pensais être correct. Finalement, je suis allé sur le site officiel et j'ai constaté qu'aucun des exemples ne fournissait ce paramètre. J'ai donc essayé de le supprimer, et tout allait bien ! Chers dieux, qui peut donner une explication correcte ? !

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal