在Electron中經過ffi模塊實現JavaScript調用C++動態庫

目前在網上能搜到的JS調C++動態庫的實現有兩種,一種是經過開發Node.js addon模塊的方式實現調用,這種對於咱們已有的代碼實現比較複雜,須要大量的開發,所以不適用;另外一種是經過FFI模塊,FFI的全稱是Foreign Function Interface,該項目生來就是解決NodeJS的本地調用問題的,其流程就至關於Windows下的LoadLibrary()和GetProcAddress(),亦能夠理解爲NodeJS下的平臺調用。html

 

1.安裝ffi模塊。ffi模塊須要使用http://www.cnblogs.com/conorpai/p/6407010.html 方法進行安裝,不然與Electron不匹配node

2.須要封裝的CAPI函數

ffi聲明方式htm

調用方式blog

3.經過js調用C++回調函數。這種方法未在實際工做中使用到,因此未經實踐檢驗,此處引用:http://stackoverflow.com/questions/36819679/node-fficall-c-lib-with-callback-function開發

4.使用ffi遇到最大的困難仍是C與js的各類變量類型匹配,咱們在工做中遇到的變量類型匹配將在下一個總結貼中列出get

相關文章
相關標籤/搜索