node 使用ffi 调用C或C++的dll库

本文介绍了如何在Node.js中调用C或C++编写的DLL库,详细步骤包括环境配置(Python、Visual Studio、Windows Build Tools)、安装gyp、创建Vue项目、引入ffi库以及编写测试代码。在实际操作中遇到了调用DLL的js文件在Vue项目中报错的问题,目前尚未解决。
摘要由CSDN通过智能技术生成

node 调用C或C++的dll库

1.安装 ffi 调用dll库 (本文主要介绍)

2.node addon N-API (未研究)

3.node Electron 使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序 (可用)

1. 环境
# python 3 版本 
python3 -m pip install gyp-next
python 2.7
VS 任意版本 (2019)
# 没有安装python和VS执行 已安装忽略此步骤
npm install --global windows-build-tools
# 设置python 安装路径
npm config set PYTHON %PYTHON2%
# 设置 VS 版本
npm config set msvs_version 2019
2. 安装gyp
npm install -g node-gyp
# 如果报错找不到node-gyp.js 设置node-gyp.js 路径
npm config set node_gyp "node D:\nodejs\node_global\node_modules\node-gyp\bin\node-gyp.js"
# 如果安装失败 清理缓存 卸载 重新安装
npm cache clean -f
npm uninstall node-gyp -g
3.创建vue项目
# 安装webpack webpack-cli
npm install webpack -g
npm install webpack webpack-cli -g
# 安装vue-cli
npm install -g @vue/cli
vue -V
# 安装vue的全局插件
npm install -g @vue/cli-init
# 创建一个基于webpack模块的新项目 projectName可以自行修改
vue init webpack projectName
# 进入项目目录 执行npm install 安装依赖 
npm install
# 启动项目
npm run dev 
# 在浏览器舒服localhost:8080 访问可以看到vue的主页 完成
4.安装 ffi
npm install ffi
5.调用系统dll 测试 编写test.js
const ffi = require("ffi");
const User32 =  ffi.Library('user32', {
                'GetWindowLongPtrW': ['int', ['int', 'int']],
                'SetWindowLongPtrW': ['int', ['int', 'int', 'long']],
                'GetSystemMenu': ['int', ['int', 'bool']],
                'DestroyWindow': ['bool', ['int']]
            })
console.log(User32.GetWindowLongPtrW);
6.node 调用js
node test.js
#执行成功
{ [Function: proxy] async: [Function] }
7.将js放到vue项目下
# 引入js 调用dll方法

报错 目前还没有解决 不知道大佬们有没有解决办法,求指点!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值