Electron 호출 dll

1532 단어 Electron
Electron은 ffi를 통해 dll을 호출합니다. (32비트 dll을 호출하는 것을 예로 들면 64가 dll을 호출하면 컴파일 환경을 변경하면 됩니다.)
  • 컴파일
  • npm install ffi
    cd .
    ode_modules\ffi node-gyp rebuild --target=4.0.0 --arch=ia32 --target_arch=ia32 --msvs_version=2015

    같은 방식으로 rf를 컴파일하다
    target=4.0.0--4.0.0은 Electron 버전
  • 사용
  • 초기화
    	const ffi = require('ffi')
    	const ref = require('ref')
    	const stringPointer = ref.refType(ref.types.CString)
    

    설명 dll 방법
          let dllObj = ffi.Library(__dirname + '/dllProject.dll', {
            'add': ['int', ['int', 'int']],
            'stringtest': ['int', [stringPointer, 'int *']],
            'callJsFun': ['void', []],
            'setcallback': ['void', ['pointer']]
          })
          //             dll   js  
          let callback = ffi.Callback('void', ['string'], function (str) {
            alert(str)
          })
          dllObj.setcallback(callback)
    

    dll 메서드 호출
            let results = dllObj.add(1, 2)
            alert(results)
    

    전달 지침
            let stringData = ref.alloc('string')
            let stringLen = ref.alloc('int')
            let results = dllObj.stringtest(stringData, stringLen)
            stringData = ref.readPointer(stringData, 0, ref.deref(stringLen))
            alert(results + ': ' + stringData.toString())
    

    GitHub 주소

    좋은 웹페이지 즐겨찾기