nodejs ffi调用C++dll动态库 ffi调用语法

本文介绍了如何使用Node.js的ffi模块调用C++动态库,详细解析了环境安装配置过程及遇到的各种错误,包括动态链接错误126、193、127的解决办法。文章还深入讲解了ffi调用C++动态库的语法,包括数据类型转换和方法调用,并记录了在调用复杂结构体时遇到的问题。

ffi介绍:

node-ffi是一个用于使用纯JavaScript加载和调用动态库的Node.js插件。它可以用来在不编写任何C++代码的情况下创建与本地DLL库的绑定。同时它负责处理跨JavaScript和C的类型转换。

node-ffi连接了C代码和JS代码, 通过内存共享来完成调用, 而内部又通过ref,ref-array和ref-struct来实现类型转换。

一、环境安装、配置

1、以管理员权限打开cmd,输入快捷命令:npm install --global --production windows-build-tools

这期间可能会遇到visual studio(C++工具包)安装不成功的情况:

这种情况下可以使用离线安装的方式(通过以下链接下载离线安装包):

https://pan.baidu.com/s/1Nh7cCrqyroEMH90HUYbvfw   提取码:5251

直接安装:

安装完成之后查看python是否安装成功:

 这说明安装成功,安装成功之后将python的路径添加到环境变量中:

2、安装.net环境地址(可以选择4.6.2包)

.NET SDKs downloads for Visual Studio

 3、安装上述各环境之后就可以安装ffi了,我这边安装的ffi版本是2.3.0的,使用命令

cnpm install ffi@2.3.0,相对应类型转换的插件版本如下:

"ffi": "^2.3.0",

"ref": "^1.3.5",

"ref-array": "^1.2.0",

"ref-struct": "^1.1.0",

4、安装上述环境的过程中遇到了很多问题,捣鼓了很久才把整个环境安装好,环境安装好之后调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值