electron-vue跨平臺桌面應用開發實戰教程(七)——ffi調用C++(Windows平臺)

electron功能很強大,但是有一些跟操作系統底層交互的功能,electron無法實現,這個時候我們就可以調用原生來配合完成對應功能,本文主要講解在windows平臺下,調用C++的dll文件

在開始之前我們要安裝

1.node-gyp

npm install node-gyp -g

2.windows-build-tools

npm install windows-build-tools -g

這裏需要確定的是python的版本必須是2.7

使用ffi-napi調用dll(c++)

1. 安裝ffi-napi

執行

npm install ffi-napi --save

2. 準備C++動態鏈接庫DLL文件

dll文件請去gitee中獲取,這裏沒辦法上傳
electron-vue-demos

3. 調用dll文件中的方法

const ffi = require('ffi-napi')
const path = require('path')
const Dll = ffi.Library(path.resolve('resources/dll/MyDLL.dll'), {
  Add: ['float', ['float', 'float']],
  Hello: ['string', []],
  StrLength: ['int', ['string']]
})

這個dll一共提供了3個方法,

  • 第一個方法是計算加和
  • 第二個方法是返回‘Hello’ 字符串
  • 第三個方法是計算字符串的長度

具體方法調用

callCppDll () {
      console.log('fii.Library Hello result:', Dll.Hello())
      console.log('fii.Library Add result:', Dll.Add(1, 2))
      console.log('fii.Library Add result:', Dll.StrLength('hello world'))
    }

調用dll其實很簡單,只是需要安裝node-gyp和C++編譯工具比較麻煩。本文是基於windows平臺進行開發的,C++編譯出來的文件是dll,如果在Mac平臺上,需要將C++編譯成dylib,接下來我來一個mac平臺的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章