# ffi-napi

2개의 포스트

ffi-napi를 사용해 go 라이브러리 불러오기

이번 프로젝트에 go로 작성한 순위 계산 코드를 nodejs 백엔드 서버에 붙이는 일을 맡아서 새롭게 공부해보게 되었다. 이전에 cpp를 사용해 napi bindings을 만들어봤을 때와 비교하자면 생각보다 go로 만드는 것이 쉽고 간편해서 최적화가 매우 많이 필요한 것이 아니면 사용해보는 것도 좋을 것 같아 소개해보려한다. Go 라이브러리 빌드를 위한 코드는 위가 전부이다. cpp로 빌드할 때는 라이브러리 내부 헤더와 외부 헤더 전부 세팅해줘야 했던 것과는 다르게 go 내부 코드가 굉장히 간결하다. 주의 깊게 살펴봐야할 코드는 다음과 같다. 위 주석은 뒤에 오는 함수명을 인식해서 자동으로 헤더를 뱉어준다. 직접 인터페이스를 만들어줘야 했던 cpp에 비해서 너무나도 간편한 세팅인 것 같다. nodejs에서 go 파라미터를 인식하는 것은 불가능하기 때문에 우리는 중간에 C를 매개체로 두어야한다. 본 함수는 파일명을 받아서 파일을 여는 기능을 하기 때문에

2023년 3월 20일
·
1개의 댓글
·
post-thumbnail

[Electron] #2. ffi-napi

✅ 들어가면서 기업협업 프로젝트를 위해 Electron이라는 크로스 플랫폼을 사용해보았습니다. 데스크탑 애플리케이션을 개발하기 위한 일종의 도구라고 보면 되는데요, 일렉트론을 통해 백그라운드앱에 접근하여 동작을 수행하는 방법에 대해 고민이 필요한 개발이 필요했습니다. 이번 포스팅에서는 백그라운드 앱에 접근하는 ffi-napi에 대해 알아보겠습니다. 문제점!!! > 해당 프로젝트는 법적 문제가 있을 수 있어 공개적으로 배포되지 않았습니다. 어떤식으로 백그라운드 앱에 접근할 수 있었는지 간략하게 소개드리겠습니다. ✅ ffi란? 우선 ffi에 대해 알아보겠습니다. 📌 개념 Foreign function interface 의 약자로서 외부 함수 인터페이스라고 부릅니다. 한 프로그래밍 언어로 작성된 프로그램이 다른 언어로 작성된 서비스를 이용할 수 있거나 그에 따른 함수를 호출할 수 있는 것을 가리키는데요. 쉬운

2022년 8월 12일
·
0개의 댓글
·