코딩노트/node.js 풋내기개발자 2020. 5. 27. 00:33
이전에 포스팅한대로 따라왔다면 정상적으로 실행이 되어야 할 것이다. 그러나 내가 포스팅한 환경과 다른 환경도 있을 것이고, 똑같이 했는데도 오류가 발생했을 수도 있다. 내가 경험한 세가지 오류에 대해 작성해보려고 한다. 먼저 내 node.js 프로젝트의 파일 구성은 이렇게 되어있다. index.js가 실행될 자바스크립트 파일이고, 그 파일과 같은 위치에 64비트 dll과 32비트 dll이 모두 있다. Error: Dynamic Linking Error: Win32 error 193 위에 올린 파일 구성을 보고, 아래 소스를 보자. const ffi = require('ffi') // dllTest_x64를 dllTest_x86으로 바꿈 const libfactorial = ffi.Library('./dl..
코딩노트/node.js 풋내기개발자 2020. 5. 26. 00:04
이제 ffi 모듈 설치까지 끝났으니 DLL을 만들고 ffi 모듈을 사용하여 DLL에 있는 함수를 호출해보자 먼저 DLL을 만들어야 하는데, 비주얼 스튜디오에서 DLL 프로젝트를 생성한 다음 아래 코드를 복사해서 컴파일해주자. dllMain.h #pragma once #include #if defined(WIN32) || defined(_WIN32) #define EXPORT __declspec(dllexport) #else #define EXPORT #endif #ifdef __cplusplus extern "C" { #endif EXPORT void print(char* c, int* i); EXPORT uint64_t factorial(int max); #ifdef __cplusplus } #endi..
코딩노트/node.js 풋내기개발자 2020. 5. 24. 00:31
node.js 12.16.3에서 ffi를 설치하다가 오류가 발생해서 node.js 10.20.1을 설치하기 위해 기존 node.js와 npm 모듈을 전부 삭제하고 nvm으로 node.js 버전 관리를 시작했다. 현재 12.16.3 버전과 10.20.1 버전이 설치된 상태이나, ffi 모듈을 사용하기 위해서는 10.20.1 버전을 사용할 것이다. nvm use 10.20.1 명령어를 실행하여 node.js를 10.20.1 버전으로 설정한 다음 다시 windows-build-tools를 설치한다. 이미 파이썬과 VSBuild를 설치해놓은 상태기 때문에 이미 설치되었으니 다시 설치하지 않는다는 메시지가 출력된다. 이제 다시 ffi모듈을 설치해보자. npm install -g ffi를 입력하니 기쁘게도 빨간 메..
코딩노트/node.js 풋내기개발자 2020. 5. 22. 23:54
※ 주의: 이 포스트는 실패과정을 작성한 포스트로, 이 이야기를 따라가다 보면 어떤 문제를 겪었고, 어떻게 해결했는지 알 수 있도록 작성하였다. ffi 모듈을 설치하기 위한 단계를 포스트 중간중간 표시할테니, 참고하자. 이미 만들어져 있는 DLL을 node.js에서 불러와 쓰고 싶을 때 사용할 수 있는 FFI(Foreign Function Interface)라는 모듈이 있다. 커맨드 창을 띄우고 ffi 모듈을 설치하자. 아... 설치하려고 하자마자 오류가 나기 시작한다. 대충 파이썬이 필요한데 파이썬이 없다는 내용이다. ffi 모듈을 설치하려면 파이썬과 VSBuild가 설치되어 있어야 한다. 파이썬과 VSBuild는 windows-build-tools라는 모듈을 설치하면 된다. 커맨드 창은 관리자 모드로..