在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

相关文章
相关标签/搜索