关于nodejs调用c/c++代码的一些感悟

在帮助客户解决通过Node.js调用C/C++代码以操作硬件的问题时,遇到了环境配置和代码实现的挑战。在MacOS上安装顺利,但驱动不兼容导致设备无法打开。切换到Windows 10系统后,面临硬盘空间不足和Visual Studio版本适配的问题。Python环境要求、Node.js版本匹配以及ffi的编译需求也带来了困扰。最终发现代码中void*类型的错误导致数据无法读取,修正为pointer类型后成功调用DLL方法。
摘要由CSDN通过智能技术生成

帮客户解决问题,他们做的业务涉及到硬件,但是桌面端程序员离职,临时接手的人员,只会node,于是希望通过node调用c

基本套路,使用ffi和ref插件,打开设备正常,但就是无法读取数据。

接手问题,第一步是环境

macosx下面,安装node和ffi 非常丝滑。但是不知为什么CH375芯片的USB驱动,在我的电脑上无法使用,所以怎么都发现不了设备。打不开设备,也就没办法推进问题。

转win10系统,双系统的macair电脑,硬盘有点少,win10总共40G,安装个vc环境,我的硬盘就快爆了。所以,每次发现安装版本不对的时候,只能卸载重新安装。每次听着自己八年老本子风扇狂转,心疼的说不出话。

关于python,环境要求必须是3.7以上。我折腾了三次。。。。。

关于nodejs,因为客户使用node 10.1,所以也是装了卸,吐了吃。。。。。。

关于vs,不知道为什么,ffi编译的时候,需要vs2013以上(不含2013),我的老花眼,居然看成只支持2013,一番折腾。。。。。

最后安装了vs2022,但是安装ffi的时候一直提示找不到msbuild,我。。。。。心疼本,所以开始修改node-gyb相关插件的js代码

修改如下

find-visualstudio.js文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值