C++编写nodejs扩展实战

本文介绍了如何使用C++编写Node.js扩展,详细讨论了字符编码问题、参数传递方法,并提供了从JavaScript到C++的转化示例,以及编写binding.gyp和C++源代码的步骤。通过这个过程,作者解决了在Node.js中处理GBK编码和传递int类型参数的挑战。
摘要由CSDN通过智能技术生成

C++编写nodejs扩展实战

之前有用PHP写过根据IP地址查询IP归属地,后来改用C语言编写,效率果然大幅度提高,然后转化为PHP的扩展.

想起之前有过使用手机号码查询号码归属地,最近又有在研究nodejs,于是就使用C++编写了nodejs的扩展.

遇到的问题确实不少,记录下来,供大家参考:

1.字符编码的问题:nodejs对于gbk编码支持不够好,为了提高程序效率,先把IP归属地的资源转化为utf-8的编码,具体使用PHP脚本foreach使用iconv转换

2.参数传递的问题,很多程序里面都写个helloworld的nodejs扩展的C++实现,但是这里面没有参数传递呐,参考了nodejs官网,总是找不到int类型,怎么从javascript转化为C++,本着有困难找度娘的心理,果然让我找到了:使用args[0]->Int32Value()就可以转化了

3.具体编写的过程如下:

a.编写binding.gyp,先写好最简配置:


'targets':[ 

'targetname':'mtc' 
'source':['mtc.cc'] 



其中target
name是模块名,require的时候用 
source是C++源文件的名字放在binding.gyp同目录下

b.编写C+

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值