>  기사  >  백엔드 개발  >  SWIG를 사용하여 C 라이브러리를 Node.js에 어떻게 통합할 수 있나요?

SWIG를 사용하여 C 라이브러리를 Node.js에 어떻게 통합할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-11-07 13:50:03514검색

How Can I Integrate C   Libraries Into Node.js Using SWIG?

Node.js에서 C 라이브러리 사용

Node.js는 C 라이브러리를 활용하는 다양한 방법을 제공합니다. 다음은 SWIG를 사용하는 입증된 솔루션입니다.

최신 SWIG 버전 3.0은 Node.js용 인터페이스 생성기를 제공하여 C 라이브러리를 원활하게 통합할 수 있도록 해줍니다.

구현 예

예를 들어, 헤더 파일 myclass.h가 있는 C 라이브러리를 생각해 보세요:

#include <iostream>

class MyClass {
    int myNumber;
public:
    MyClass(int number): myNumber(number) {}
    void sayHello() { std::cout << "Hello, my number is:" << myNumber << std::endl; }
};

SWIG 인터페이스 파일

Node에서 이 클래스를 사용하려면. Node.js를 사용하여 SWIG 인터페이스 파일 mylib.i를 생성합니다:

%module "mylib"
%{
#include "myclass.h"
%}
%include "myclass.h"

바인딩 파일 및 명령

다음으로 바인딩 파일 바인딩.gyp을 생성합니다:

{
  "targets": [
    {
      "target_name": "mylib",
      "sources": [ "mylib_wrap.cxx" ]
    }
  ]
}

마지막으로 다음 명령을 실행합니다.

swig -c++ -javascript -node mylib.i
node-gyp build

Node.js 통합

이제 동일한 폴더 내에서 Node.js를 실행하면 다음을 수행할 수 있습니다. C 라이브러리에 액세스하세요.

> var mylib = require("./build/Release/mylib")
> var c = new mylib.MyClass(5)
> c.sayHello()
Hello, my number is:5

SWIG는 자연스러운 인터페이스를 자동으로 검색하고 생성하므로 C 코드를 Node.js 애플리케이션에 쉽게 통합할 수 있습니다.

위 내용은 SWIG를 사용하여 C 라이브러리를 Node.js에 어떻게 통합할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.