如何在Windows下开发NodeJS的CC++原生扩展

如何在Windows下开发NodeJS的CC++原生扩展,第1张

一、编写Nodejs原生扩展

Nodejs是一个强大的平台,理想状态下一切都都可以用javascript写成。然而,你可能还会用到许多遗留的库和系统,这样的话使用c++编写NodeJS扩展会是一个不错的注意。

以下所有例子的源代码可在node扩展示例中找到 。

编写Nodejs C + +扩展很大程度上就像是写V8的扩展; Nodejs增加了一些接口,但大部分时间你都是在使原始的V8数据类型和方法,为了理解以下的代码,你必须首先阅读V8引擎嵌入指南。

Javascript版本的Hello World

在讲解C++版本的例子之前,先让我们来看看在Nodejs中用Javascript编写的等价模块是什么样子。这是一个最简单的Hello World,也不是通过>

1安装NodeJS

1编译环境

源代码编译器,通常 Unix/Linux平台都自带了C++的编译器(GCC/G++)。如果没有,请通过当前发行版的软件包安装工具安装make,g++这些编译工具。

Debian/Ubuntu下的工具是apt-get

RedHat/centOS下通过yum命令

Mac OS X下你可能需要安装xcode来获得编译器

2网络加密

其次,如果你计划在Nodejs中启用网络加密,OpenSSL的加密库也是必须的。该加密库是libssl-dev,可以通过apt-get install libssl-dev等命令安装。

3手动编译

wget >

相信为nodejs写过 c++扩展的人,都有过nodejs版本升级之后c++需要重新编译的惨痛经历。nodejs v80之后node官方推出了N-API 大大的解决了这一问题。

N-API 是独立于v8引擎之外的模块。用来向c++扩展程序提供接口,从而达到了c++扩展程序和v8引擎的隔离。因此在当nodejs版本变化之后c++扩展程序无需重新编译也能运行。

下面我们来看如何利用N-API为nodejs写一个简单的扩展:

我们的例子只从nodejs方面讲起。nodejs版本为8x 。

首先安装 node-gyp 用来编译我们的扩展程序

编译安装nodejs不通过

protected virtual void Dispose(bool disposing)

{

if (!m_disposed)

{

if (!disposing)

{

// Release unmanaged resources

DB2CommandConnectionClose();

DB2Command = null;

cnClose();

以上就是关于如何在Windows下开发NodeJS的C/C++原生扩展全部的内容,包括:如何在Windows下开发NodeJS的C/C++原生扩展、nodejs 模块开发怎么调试、如何使用nodejs搭建开发环境等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10071516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存